Internet Engineering Task Force (IETF) Kenneth White INTERNET DRAFT: IBM Corp. Expiration Date: March 1999 September 1998 Definitions of Managed Objects for Service Level Agreements Performance Monitoring Status of this Memo This document is an Internet Draft. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any Internet Draft. Distribution of this document is unlimited. Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Abstract This memo defines a Management Information Base (MIB) for performing performance monitoring of Service Level Agreements (SLAs) defined via policy definitions. The MIB defined herein focuses on defining a set of objects for monitoring SLAs and not on replication of the content of the policy definitions being monitored. The MIB defined by this document is based upon the content of "Schema for Service Level Administration of Differential Services and Integrated Services in Networks", refer to [19]. Table of Contents 1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 White, Kenneth Expires March 1999 [Page 1] Internet Draft SLAPM-MIB September 30, 1998 2.0 The SNMP Network Management Framework . . . . . . . . . . . . 2 3.0 Structure of the MIB . . . . . . . . . . . . . . . . . . . . . 3 3.1 Global simple objects . . . . . . . . . . . . . . . . . . . . 4 3.2 slapmPolicyStatsTable . . . . . . . . . . . . . . . . . . . . 4 3.3 slapmPolicyMonitorTable . . . . . . . . . . . . . . . . . . . 5 3.4 slapmSubcomponentTable . . . . . . . . . . . . . . . . . . . . 6 4.0 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.0 Security Considerations . . . . . . . . . . . . . . . . . . . 36 6.0 Intellectual Property . . . . . . . . . . . . . . . . . . . . 36 7.0 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 8.0 References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.0 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 38 10.0 Full Copyright Statement . . . . . . . . . . . . . . . . . . 38 1.0 Introduction The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119, reference [13]. This document is a product of the Internet Engineering Task Force (IETF). Its purpose is to define a MIB module for performance management of Service Level Agreements (SLAs). An SLA is defined via policy. There are a number of methods that exist for how policy is defined and administered. Definition of these methods is considered out side of the scope of this document. For modeling the contents of this MIB a policy definition is considered to consist of a set of traffic profiles that select the conditions for when a policy action should be applied. Refer to "Schema for Service Level Administration of Differential Services and Integrated Services in Networks" [19] for a definition of policy, traffic profile and action. The SLAPM-MIB is structured primarily to enable monitoring policy traffic profiles at a system. A system can be either an edge device (end-system) or an interior device or node (e.g. router). 2.0 The SNMP Network Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2271 [7]. White, Kenneth Expires March 1999 [Page 2] Internet Draft SLAPM-MIB September 30, 1998 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 [14], RFC 1212 [15] and RFC 1215 [16]. The second version, called SMIv2, is described in RFC 1902 [3], RFC 1903 [4] and RFC 1904 [5]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [1]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [17] and RFC 1906 [18]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [18], RFC 2272 [8] and RFC 2274 [10]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in RFC 1157 [1]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [6]. o A set of fundamental applications described in RFC 2273 [9] and the view-based access control mechanism described in RFC 2275 [11]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined ore, 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. 3.0 Structure of the MIB The SLAPM-MIB consists of the following components: o Global simple objects o slapmPolicyStatsTable o slapmPolicyMonitorTable o slapmSubcomponentTable Refer to the compliance statement defined within SLAPM-MIB for a definition of what objects and notifications MUST be implemented by all systems as opposed to those that MUST be implemented by end systems only. White, Kenneth Expires March 1999 [Page 3] Internet Draft SLAPM-MIB September 30, 1998 3.1 Global simple objects Global objects defined within SLAPM-MIB: o slapmSpinLock Enables multiple management application access to SLAPM-MIB. An agent MUST implement the slapmSpinLock object to enable management applications to coordinate their use of the SLAPM-MIB. Management application use of slapmSpinLock is OPTIONAL. o slapmPolicyCountQueries, slapmPolicyCountAccesses, slapmPolicyCountSuccessAccesses, and slapmPolicyCountNotFounds Basic statistics on the amount of policy directory access that has occured at a system. o slapmPolicyPurgeTime Used to prevent the entries in various SLAPM-MIB tables that relate to a policy definition from immediately being deleted when the corresponding policy definition no longer exists. This gives management applications time to discover this condition and close out any polled based interval data that may be being collected. All dependent slapmPolicyMonitorTable entries are also deleted when its parent slapmPolicyStatsEntry is removed. Refer to the OBJECT description for slapmPolicyPurgeTime for a more precise description of this function. o slapmPolicyTrapEnable This object enables or suppresses generation of slapmPolicyMonitorDeleted or slapmPolicyProfileDeleted notifications. 3.2 slapmPolicyStatsTable The slapmPolicyStatsTable is the main table defined by SLAPM-MIB. The primary index for this table is slapmPolicyStatsSystemAddress that enables support of multiple systems from a single policy agent. The index element, slapmPolicyStatsSystemAddress, value must be either the zero-length octet string when at a policy agent only a single system is being support, 4 octets for a ipv4 address, or 16 octets for a ipv6 address. It is possible that on a single system multiple policy agent instances exists. The Entity MIB, refer to [20], should be used to handle the resulting MIBs. With respect to slapmPolicyStatsSystemAddress one slapmPolicyStatsEntry exists for each SLA traffic profile per policy definition. The structure of indexing for slapmPolicyStatsTable assumes that it is permissible for a policy to consist of a set of traffic profiles. Systems that allow only a single traffic profile to be specified per policy definition MUST still use the name of the traffic profile as the White, Kenneth Expires March 1999 [Page 4] Internet Draft SLAPM-MIB September 30, 1998 second index into slapmPolicyStatsTable in order to conform to SLAPM-MIB. Use of a zero-length octet string to indicate this condition is NOT allowed. SLAPM-MIB also assumes that only a single action can be defined for any single policy definition and hence an action's name doesn't need to be reflected in table indexing. This table provides basic statistics on the set of policy traffic profiles known at a system. Entries in this table are not administered via SNMP. An agent implementation for this table MUST reflect its current set of policy definitions via table entries. The mechanisms for policy administration are outside of the scope of this memo. 3.3 slapmPolicyMonitorTable The slapmPolicyMonitorTable provides a method of monitoring the effect of SLA policy being used at a system. A management application creates an slapmPolicyMonitorEntry for each collection that it requires. The value of the BITS slapmPolicyMonitorControl object determines what type of monitoring occurs, at what level to monitor and whether trap support is enabled: o monitorMinRate(0) Use the value of slapmPolicyMonitorInterval as the interval to determine current traffic in and out rates, using slapmPolicyMonitorCurrentInRate and slapmPolicyMonitorCurrentOutRate, that can be compared to slapmPolicyMonitorMinRateLow for determining when to generate a slapmMonitoredEventNotAchieved notification. The notification slapmMonitoredEventOkay is generated when the problem is resolved. This can be determined by comparing the current rates to slapmPolicyMonitorMinRateHigh. o monitorMaxRate(1) Use the value of slapmPolicyMonitorInterval as the interval to determine current traffic in and out rate, using slapmPolicyMonitorCurrentInRate and slapmPolicyMonitorCurrentOutRate, that can be compared to slapmPolicyMonitorMaxRateHigh for determining when to generate a slapmMonitoredEventNotAchieved notification. The notification slapmMonitoredEventOkay is generated when the problem is resolved. This can be determined by comparing the current rates to slapmPolicyMonitorMaxRateLow. o monitorMaxDelay(2) Use the value of slapmPolicyMonitorInterval as the interval to determine the current delay. This can be calculated by averaging the round trip times for all TCP connections associated with the policy definition. Compare this value to slapmPolicyMonitorMaxDelayHigh for determining when to generate a White, Kenneth Expires March 1999 [Page 5] Internet Draft SLAPM-MIB September 30, 1998 slapmMonitoredEventNotAchieved notification. The notification slapmMonitoredEventOkay is generated when the problem is resolved. This can be determined by comparing the current rates to slapmPolicyMonitorMaxDelayLow. UDP subcomponents don't support max delay monitoring. o enableAggregateTraps(3) The slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be set in order for any notifications relating to slapmPolicyStatsTable monitoring to be generated. o enableSubcomponentTraps(4) This slapmPolicyMonitorControl BITS setting MUST be set in order for any notifications relating to slapmSubcomponetTable monitoring to be generated. The slapmPolicyMonitorControl BITS setting monitorSubcomponents(5) MUST be selected in order for this setting to be allowed. o monitorSubcomponents(5) If selected monitor slapmSubcomponentTable entries individually. Note: aggregate policy traffic profile monitoring is always enabled. The index element slapmPolicyMonitorOwnerIndex is used as the first index in slapmPolicyMonitorTable in order to enable SNMPv3 VACM security control. The slapmPolicyMonitorTable is the only table that supports SNMP RowStatus operations. 3.4 slapmSubcomponentTable Entries are made into this table for the protocol entities (policy traffic profile subcomponents) to indicate actual policy traffic profile usage, provide general statistics at either a TCP connection or UDP listener level, and enable subcomponent monitoring. 4.0 Definitions SLAPM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32, NOTIFICATION-TYPE, Gauge32, Counter32 FROM SNMPv2-SMI -- RFC1902 TEXTUAL-CONVENTION, RowStatus, TestAndIncr, DateAndTime FROM SNMPv2-TC -- RFC1903 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- RFC1904 SnmpAdminString White, Kenneth Expires March 1999 [Page 6] Internet Draft SLAPM-MIB September 30, 1998 FROM SNMP-FRAMEWORK-MIB; -- RFC2271 slapmMIB MODULE-IDENTITY LAST-UPDATED "9809300000Z" ORGANIZATION "Internet Engineering Task Force (IETF)" CONTACT-INFO "Kenneth White International Business Machines Corporation Network Computing Software Division Research Triangle Park, NC, USA E-mail: kennethw@vnet.ibm.com" DESCRIPTION "The Service Level Agreement Performance Monitoring MIB (SLAPM-MIB) provides data collection and monitoring capabilities for the Service Level Agreements (SLAs) policy definitions." ::= { experimental 88 } -- Textual Conventions SlapmNameType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The textual convention for naming entities within this MIB. The actual contents of an object defined using this textual convention should consist of the distinguished name portion of an name. This is usually the right-most portion of the name. This convention is necessary, since names within this MIB can be used as index items and an instance identifier is limited to 128 subidentifiers." SYNTAX SnmpAdminString (SIZE(0..32)) SlapmStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The textual convention for defining the various slapmPolicyMonitorTable and the slapmSubcomponentTable states for actual policy traffic profile monitoring." SYNTAX BITS { slaMinInRateNotAchieved(0), slaMaxInRateExceeded(1), slaMaxInDelayExceeded(2), slaMinOutRateNotAchieved(3), slaMaxOutRateExceeded(4), slaMaxOutDelayExceeded(5), monitorMinInRateNotAchieved(6), monitorMaxInRateExceeded(7), monitorMaxInDelayExceeded(8), monitorMinOutRateNotAchieved(9), monitorMaxOutRateExceeded(10), White, Kenneth Expires March 1999 [Page 7] Internet Draft SLAPM-MIB September 30, 1998 monitorMaxOutDelayExceeded(11) } -- Top-level structure of the MIB slapmNotifications OBJECT IDENTIFIER ::= { slapmMIB 0 } slapmObjects OBJECT IDENTIFIER ::= { slapmMIB 1 } slapmConformance OBJECT IDENTIFIER ::= { slapmMIB 2 } -- All simple objects slapmBaseObjects OBJECT IDENTIFIER ::= { slapmObjects 1 } -- Simple Object Definitions slapmSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow cooperating applications to coordinate their use of the contents of this MIB. This typically occurs when an application seeks to create an new entry or alter an existing entry in slapmPolicyMonitorTable. A management implementation MAY utilize the slapmSpinLock to serialize its changes or additions. This usage is not required. However, slapmSpinLock MUST be supported by agent implementations." ::= { slapmBaseObjects 1 } slapmPolicyCountQueries OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of times that a policy lookup occurred with respect to a policy agent. This is the number of times that a reference was made to a policy definition at a system and includes the number of times that a policy repository was accessed, slapmPolicyCountAccesses. The object slapmPolicyCountAccesses should be less than slapmPolicyCountQueries when policy definitions are cached at a system." ::= { slapmBaseObjects 2 } slapmPolicyCountAccesses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of times that a policy repository was accessed with respect to a policy agent. The value of this object should be less than slapmPolicyCountQueries, since typically policy entries White, Kenneth Expires March 1999 [Page 8] Internet Draft SLAPM-MIB September 30, 1998 are cached to minimize repository accesses." ::= { slapmBaseObjects 3 } slapmPolicyCountSuccessAccesses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of successful policy repository accesses with respect to a policy agent." ::= { slapmBaseObjects 4 } slapmPolicyCountNotFounds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of policy repository accesses, with respect to a policy agent, that resulted in an entry not being located." ::= { slapmBaseObjects 5 } slapmPolicyPurgeTime OBJECT-TYPE SYNTAX Integer32 (0..3600) -- maximum of 1 hour UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The purpose of this object is to define the amount of time (in seconds) to wait before removing an slapmPolicyStatsEntry when a system detects that the associated policy definition has been deleted. This gives any polling management applications time to complete their last poll before an entry is removed. An slapmPolicyStatsEntry enters the deleteNeeded(3) state via slapmPolicyStatsOperStatus when a system first detects that the entry needs to be removed. Once slapmPolicyPurgeTime has expired for an entry in deleteNeeded(3) state it is removed a long with any dependent slapmPolicyMonitorTable entries. A value of 0 for this option disables this function and results in the automatic purging of slapmPolicyTable entries upon transition into deleteNeeded(3) state. A slapmPolicyProfileDeleted notification is sent when a slapmPolicyStatsEntry. Dependent slapmPolicyMonitorEntry deletion results in a slapmPolicyMonitorDeleted notification being sent. Both notifications are suppressed if the value of slapmPolicyTrapEnable is disabled(2)." DEFVAL { 900 } -- 15 minute default purge time ::= { slapmBaseObjects 6 } White, Kenneth Expires March 1999 [Page 9] Internet Draft SLAPM-MIB September 30, 1998 slapmPolicyTrapEnable OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether slapmPolicyProfileDeleted and slapmPolicyMonitorDeleted notifications should be generated by this system." DEFVAL { disabled } ::= { slapmBaseObjects 7 } slapmTableObjects OBJECT IDENTIFIER ::= { slapmObjects 2 } -- Sla Performance Monitoring Policy Statistics Table slapmPolicyStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF SlapmPolicyStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Provides statistics on all policies known at a system." ::= { slapmTableObjects 1 } slapmPolicyStatsEntry OBJECT-TYPE SYNTAX SlapmPolicyStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the slapmPolicyStatsTable. This table defines a set of statistics that is kept on a per system, policy and traffic profile basis. A policy can be defined to contain multiple traffic profiles that map to a single action. Entries in this table are not created or deleted via SNMP but reflect the set of policy definitions known at a system." INDEX { slapmPolicyStatsSystemAddress, slapmPolicyStatsPolicyName, slapmPolicyStatsTrafficProfileName } ::= { slapmPolicyStatsTable 1 } SlapmPolicyStatsEntry ::= SEQUENCE { slapmPolicyStatsSystemAddress OCTET STRING, slapmPolicyStatsPolicyName SlapmNameType, slapmPolicyStatsTrafficProfileName SlapmNameType, slapmPolicyStatsOperStatus INTEGER, slapmPolicyStatsActiveConns Gauge32, slapmPolicyStatsTotalConns Counter32, slapmPolicyStatsFirstActivated DateAndTime, slapmPolicyStatsLastMapping DateAndTime, slapmPolicyStatsInOctets Counter32, White, Kenneth Expires March 1999 [Page 10] Internet Draft SLAPM-MIB September 30, 1998 slapmPolicyStatsOutOctets Counter32, slapmPolicyStatsConnectionLimit Integer32, slapmPolicyStatsCountAccepts Counter32, slapmPolicyStatsCountDenies Counter32, slapmPolicyStatsInDiscards Counter32, slapmPolicyStatsOutDiscards Counter32, slapmPolicyStatsInPackets Counter32, slapmPolicyStatsOutPackets Counter32, slapmPolicyStatsInProfileOctets Counter32, slapmPolicyStatsOutProfileOctets Counter32, slapmPolicyStatsMinRate Integer32, slapmPolicyStatsMaxRate Integer32, slapmPolicyStatsMaxDelay Integer32 } slapmPolicyStatsSystemAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Address of a system that an Policy definition relates to. A zero length octet string must be used to indicate that only a single system is being represented. Otherwise, the length of the octet string must be 4 for an ipv4 address or 16 for an ipv6 address." ::= { slapmPolicyStatsEntry 1 } slapmPolicyStatsPolicyName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Policy name that this entry relates to." ::= { slapmPolicyStatsEntry 2 } slapmPolicyStatsTrafficProfileName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The name of a traffic profile that is associated with a policy." ::= { slapmPolicyStatsEntry 3 } slapmPolicyStatsOperStatus OBJECT-TYPE SYNTAX INTEGER { inactive(1), active(2), deleteNeeded(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of a policy entry: White, Kenneth Expires March 1999 [Page 11] Internet Draft SLAPM-MIB September 30, 1998 inactive(1) - An policy entry was either defined by local SYSDEF or discovered via a directory search but has not been activated (not currently being used). active(2) - Policy entry is being used to affect traffic flows. deleteNeeded(3) - Either though local implementation dependent methods or by discovering that the directory entry corresponding to this table entry no longer exists and slapmPolicyPurgeTime needs to expire before attempting to remove the corresponding slapmPolicyStatsEntry and any dependent slapmPolicyMonitor table entries. Note: a policy traffic profile in a state other than active(1) is not beening used to affect traffic flows." ::= { slapmPolicyStatsEntry 4 } slapmPolicyStatsActiveConns OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of active TCP connections that are affected by the corresponding policy entry." ::= { slapmPolicyStatsEntry 5 } slapmPolicyStatsTotalConns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of total TCP connections that are affected by the corresponding policy entry." ::= { slapmPolicyStatsEntry 6 } slapmPolicyStatsFirstActivated OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp for when the corresponding policy entry is activated. The value of this object serves as the discontinuity event indicator when polling entries in this table. The value of this object is updated on transition of slapmPolicyStatsOperStatus into the active(2) state." DEFVAL { '0000000000000000'H } ::= { slapmPolicyStatsEntry 7 } slapmPolicyStatsLastMapping OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current White, Kenneth Expires March 1999 [Page 12] Internet Draft SLAPM-MIB September 30, 1998 DESCRIPTION "The timestamp for when the last time that the associated policy entry was used." DEFVAL { '0000000000000000'H } ::= { slapmPolicyStatsEntry 8 } slapmPolicyStatsInOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that was received by IP for an entity that map to this entry." ::= { slapmPolicyStatsEntry 9 } slapmPolicyStatsOutOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that was transmitted by IP for an entity that map to this entry." ::= { slapmPolicyStatsEntry 10 } slapmPolicyStatsConnectionLimit OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The limit for the number of active TCP connections that are allowed for this policy definition. A value of zero for this object implies that a connection limit has not been specified." ::= { slapmPolicyStatsEntry 11 } slapmPolicyStatsCountAccepts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter is incremented when a policy action's Permission value is set to Accept and a session (TCP connection) is accepted." ::= { slapmPolicyStatsEntry 12 } slapmPolicyStatsCountDenies OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter is incremented when a policy action's Permission value is set to Deny and a session is denied, or when a session (TCP connection) is rejected due to a policy's connection limit (slapmPolicyStatsConnectLimit) being reached." White, Kenneth Expires March 1999 [Page 13] Internet Draft SLAPM-MIB September 30, 1998 ::= { slapmPolicyStatsEntry 13 } slapmPolicyStatsInDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter counts the number of in octets discarded. This occurs when an error is detected. Examples of this are buffer overflow, checksum error, or bad packet format." ::= { slapmPolicyStatsEntry 14 } slapmPolicyStatsOutDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter counts the number of out octets discarded. Examples of this are buffer overflow, checksum error, or bad packet format." ::= { slapmPolicyStatsEntry 15 } slapmPolicyStatsInPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter counts the number of in packets received that relate to this policy entry from IP." ::= { slapmPolicyStatsEntry 16 } slapmPolicyStatsOutPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter counts the number of out packets sent by IP that relate to this policy entry." ::= { slapmPolicyStatsEntry 17 } slapmPolicyStatsInProfileOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter counts the number of in octets that are determined to be within profile." ::= { slapmPolicyStatsEntry 18 } slapmPolicyStatsOutProfileOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION White, Kenneth Expires March 1999 [Page 14] Internet Draft SLAPM-MIB September 30, 1998 "This counter counts the number of out octets that are determined to be within profile." ::= { slapmPolicyStatsEntry 19 } slapmPolicyStatsMinRate OBJECT-TYPE SYNTAX Integer32 UNITS "Kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum transfer rate defined for this entry." ::= { slapmPolicyStatsEntry 20 } slapmPolicyStatsMaxRate OBJECT-TYPE SYNTAX Integer32 UNITS "Kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum transfer rate defined for this entry." ::= { slapmPolicyStatsEntry 21 } slapmPolicyStatsMaxDelay OBJECT-TYPE SYNTAX Integer32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum delay defined for this entry." ::= { slapmPolicyStatsEntry 22 } -- SLA Performance Monitoring Policy Monitor Table slapmPolicyMonitorTable OBJECT-TYPE SYNTAX SEQUENCE OF SlapmPolicyMonitorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Provides a method of monitoring policies and their effect at a system." ::= { slapmTableObjects 2 } slapmPolicyMonitorEntry OBJECT-TYPE SYNTAX SlapmPolicyMonitorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the slapmPolicyMonitorTable. This table defines which policies should be monitored on a per policy traffic profile basis." INDEX { slapmPolicyMonitorOwnerIndex, slapmPolicyMonitorSystemAddress, slapmPolicyMonitorPolicyName, slapmPolicyMonitorTrafficProfileName White, Kenneth Expires March 1999 [Page 15] Internet Draft SLAPM-MIB September 30, 1998 } ::= { slapmPolicyMonitorTable 1 } SlapmPolicyMonitorEntry ::= SEQUENCE { slapmPolicyMonitorOwnerIndex SnmpAdminString, slapmPolicyMonitorSystemAddress OCTET STRING, slapmPolicyMonitorPolicyName SlapmNameType, slapmPolicyMonitorTrafficProfileName SlapmNameType, slapmPolicyMonitorControl BITS, slapmPolicyMonitorStatus SlapmStatus, slapmPolicyMonitorInterval Integer32, slapmPolicyMonitorIntTime DateAndTime, slapmPolicyMonitorCurrentInRate Gauge32, slapmPolicyMonitorCurrentOutRate Gauge32, slapmPolicyMonitorMinRateLow Integer32, slapmPolicyMonitorMinRateHigh Integer32, slapmPolicyMonitorMaxRateHigh Integer32, slapmPolicyMonitorMaxRateLow Integer32, slapmPolicyMonitorMaxDelayHigh Integer32, slapmPolicyMonitorMaxDelayLow Integer32, slapmPolicyMonitorMinInRateNotAchievies Counter32, slapmPolicyMonitorMaxInRateExceeds Counter32, slapmPolicyMonitorMaxInDelayExceeds Counter32, slapmPolicyMonitorMinOutRateNotAchievies Counter32, slapmPolicyMonitorMaxOutRateExceeds Counter32, slapmPolicyMonitorMaxOutDelayExceeds Counter32, slapmPolicyMonitorRowStatus RowStatus } slapmPolicyMonitorOwnerIndex OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "To facilitate the provisioning of access control by a security administrator using the View-Based Access Control Model (RFC 2275, VACM) for tables in which multiple users may need to independently create or modify entries, the initial index is used as an 'owner index'. Such an initial index has a syntax of SnmpAdminString, and can thus be trivially mapped to a securityName or groupName as defined in VACM, in accordance with a security policy. All entries in that table belonging to a particular user will have the same value for this initial index. For a given user's entries in a particular table, the object identifiers for the information in these entries will have the same subidentifiers (except for the 'column' subidentifier) up to the end of the encoded owner index. To configure VACM to permit access to this portion of the table, one would create vacmViewTreeFamilyTable entries with the value of vacmViewTreeFamilySubtree including the owner index portion, and vacmViewTreeFamilyMask White, Kenneth Expires March 1999 [Page 16] Internet Draft SLAPM-MIB September 30, 1998 'wildcarding' the column subidentifier. More elaborate configurations are possible." ::= { slapmPolicyMonitorEntry 1 } slapmPolicyMonitorSystemAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Address of a system that an Policy definition relates to. A zero length octet string can be used to indicate that only a single system is being represented. Otherwise, the length of the octet string should be 4 for an ipv4 address and 16 for an ipv6 address." ::= { slapmPolicyMonitorEntry 2 } slapmPolicyMonitorPolicyName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Policy name that this entry relates to." ::= { slapmPolicyMonitorEntry 3 } slapmPolicyMonitorTrafficProfileName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The corresponding Traffic Profile name." ::= { slapmPolicyMonitorEntry 4 } slapmPolicyMonitorControl OBJECT-TYPE SYNTAX BITS { monitorMinRate(0), monitorMaxRate(1), monitorMaxDelay(2), enableAggregateTraps(3), enableSubcomponentTraps(4), monitorSubcomponents(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object determines the type and level of monitoring that is applied to a policy/profile. The value of this object can't be changed once the table entry that it is a part of is activated via a slapmPolicyMonitorRowStatus transition to active state. monitorMinRate(0) - Monitor minimum transfer rate. monitorMaxRate(1) - Monitor maximum transfer rate. monitorMaxDelay(2) - Monitor maximum delay. enableAggregateTraps(3) - The enableAggregateTraps(3) BITS setting enables notification generation White, Kenneth Expires March 1999 [Page 17] Internet Draft SLAPM-MIB September 30, 1998 when monitoring a policy traffic profile as an aggregate using the values in the corresponding slapmPolicyStatsEntry. By default this function is not enabled. enableSubcomponentTraps(4) - This BITS setting enables notification generation when monitoring all subcomponents that are mapped to an corresponding slapmPolicyStatsEntry. By default this function is not enabled. monitorSubcomponents(5) - This BITS setting enables monitoring of each subcomponent (typically a TCP connection or UDP listener) individually." DEFVAL { { monitorMinRate, monitorMaxRate, monitorMaxDelay } } ::= { slapmPolicyMonitorEntry 5 } slapmPolicyMonitorStatus OBJECT-TYPE SYNTAX SlapmStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object indicates when a monitored value has not meet a threshold or isn't meeting the defined service level. The SalpmStatus TEXTUAL-CONVENTION defines two levels of not meeting a threshold. The first set: slaMinInRateNotAchieved(0), slaMaxInRateExceeded(1), slaMaxInDelayExceeded(2), slaMinOutRateNotAchieved(3), slaMaxOutRateExceeded(4), slaMaxOutDelayExceeded(5) are used to indicate when the SLA as an aggregate is not meeting a threshold while the second set: monitorMinInRateNotAchieved(6), monitorMaxInRateExceeded(7), monitorMaxInDelayExceeded(8), monitorMinOutRateNotAchieved(9), monitorMaxOutRateExceeded(10), monitorMaxOutDelayExceeded(11) indicate that at least one subcomponent is not meeting a threshold." ::= { slapmPolicyMonitorEntry 6 } slapmPolicyMonitorInterval OBJECT-TYPE SYNTAX Integer32 (15..86400) -- 15 second min, 24 hour max UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of seconds that defines the sample period." DEFVAL {20} -- 20 seconds White, Kenneth Expires March 1999 [Page 18] Internet Draft SLAPM-MIB September 30, 1998 ::= { slapmPolicyMonitorEntry 7 } slapmPolicyMonitorIntTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp for when the last interval ended." DEFVAL { '0000000000000000'H } ::= { slapmPolicyMonitorEntry 8 } slapmPolicyMonitorCurrentInRate OBJECT-TYPE SYNTAX Gauge32 UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Using the value of the corresponding slapmPolicyMonitorInterval, slapmPolicyStatsInOctets is sampled and then divided by slapmPolicyMonitorInterval to determine the current in transfer rate." ::= { slapmPolicyMonitorEntry 9 } slapmPolicyMonitorCurrentOutRate OBJECT-TYPE SYNTAX Gauge32 UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Using the value of the corresponding slapmPolicyMonitorInterval, slapmPolicyStatsOutOctets is sampled and then divided by slapmPolicyMonitorInterval to determine the current out transfer rate." ::= { slapmPolicyMonitorEntry 10 } slapmPolicyMonitorMinRateLow OBJECT-TYPE SYNTAX Integer32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventNotAchieved notification, signalling that a monitored minimum transfer rate has not been meet. A slapmMonitoredEventNotAchieved notification is not generated again for an slapmPolicyMonitorEntry until the minimum transfer rate exceeds slapmPolicyMonitorMinRateHigh (a slapmMonitoredEventOkay notification is then transmitted) and then fails below slapmPolicyMonitorMinRateLow. This behavior reduces the slapmMonitoredEventNotAchieved notifications that are transmitted. A value of zero for this object is returned when the White, Kenneth Expires March 1999 [Page 19] Internet Draft SLAPM-MIB September 30, 1998 slapmPolicyMonitorControl monitorMinRate(0) is not enabled. When enabled the default value for this object is the min rate value specified in the associated action definition minus 10%. If the action definition doesn't have a min rate defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMinRate(0) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 11 } slapmPolicyMonitorMinRateHigh OBJECT-TYPE SYNTAX Integer32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventOkay notification, signalling that a monitored minimum transfer rate has increased to an acceptable level. A value of zero for this object is returned when the slapmPolicyMonitorControl monitorMinRate(0) is not enabled. When enabled the default value for this object is the min rate value specified in the associated action definition plus 10%. If the action definition doesn't have a min rate defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMinRate(0) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 12 } slapmPolicyMonitorMaxRateHigh OBJECT-TYPE SYNTAX Integer32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventNotAchieved notification, signalling that a monitored maximum transfer rate has been exceeded. A slapmMonitoredEventNotAchieved notification is not generated again for an slapmPolicyMonitorEntry until the maximum transfer rate fails below slapmPolicyMonitorMaxRateLow (a slapmMonitoredEventOkay White, Kenneth Expires March 1999 [Page 20] Internet Draft SLAPM-MIB September 30, 1998 notification is then transmitted) and then raises above slapmPolicyMonitorMaxRateHigh. This behavior reduces the slapmMonitoredEventNotAchieved notifications that are transmitted. A value of zero for this object is returned when the slapmPolicyMonitorControl monitorMaxRate(1) is not enabled. When enabled the default value for this object is the max rate value specified in the associated action definition plus 10%. If the action definition doesn't have a max rate defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMaxRate(1) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 13 } slapmPolicyMonitorMaxRateLow OBJECT-TYPE SYNTAX Integer32 UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventOkay notification, signalling that a monitored maximum transfer rate has fallen to an acceptable level. A value of zero for this object is returned when the slapmPolicyMonitorControl monitorMaxRate(1) is not enabled. When enabled the default value for this object is the max rate value specified in the associated action definition minus 10%. If the action definition doesn't have a max rate defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMaxRate(1) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 14 } slapmPolicyMonitorMaxDelayHigh OBJECT-TYPE SYNTAX Integer32 UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventNotAchieved notification, signalling White, Kenneth Expires March 1999 [Page 21] Internet Draft SLAPM-MIB September 30, 1998 that a monitored maximum delay rate has been exceeded. A slapmMonitoredEventNotAchieved notification is not generated again for an slapmPolicyMonitorEntry until the maximum delay rate falls below slapmPolicyMonitorMaxDelayLow (a slapmMonitoredEventOkay notification is then transmitted) and raises above slapmPolicyMonitorMaxDelayHigh. This behavior reduces the slapmMonitoredEventNotAchieved notifications that are transmitted. A value of zero for this object is returned when the slapmPolicyMonitorControl monitorMaxDelay(4) is not enabled. When enabled the default value for this object is the max delay value specified in the associated action definition plus 10%. If the action definition doesn't have a max delay defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMaxDelay(4) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 15 } slapmPolicyMonitorMaxDelayLow OBJECT-TYPE SYNTAX Integer32 UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The threshold for generating a slapmMonitoredEventOkay notification, signalling that a monitored maximum delay rate has fallen to an acceptable level. A value of zero for this object is returned when the slapmPolicyMonitorControl monitorMaxDelay(4) is not enabled. When enabled the default value for this object is the max delay value specified in the associated action definition minus 10%. If the action definition doesn't have a max delay defined then there is no default for this object and a value MUST be specified prior to activating this entry when monitorMaxDelay(4) is selected. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for any notification relating to this entry to potentially be generated." ::= { slapmPolicyMonitorEntry 16 } slapmPolicyMonitorMinInRateNotAchievies OBJECT-TYPE SYNTAX Counter32 White, Kenneth Expires March 1999 [Page 22] Internet Draft SLAPM-MIB September 30, 1998 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a minimum transfer in rate was not achieved." ::= { slapmPolicyMonitorEntry 17 } slapmPolicyMonitorMaxInRateExceeds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a maximum transfer in rate was exceeded." ::= { slapmPolicyMonitorEntry 18 } slapmPolicyMonitorMaxInDelayExceeds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a maximum delay in rate was exceeded." ::= { slapmPolicyMonitorEntry 19 } slapmPolicyMonitorMinOutRateNotAchievies OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a minimum transfer out rate was not achieved." ::= { slapmPolicyMonitorEntry 20 } slapmPolicyMonitorMaxOutRateExceeds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a maximum transfer out rate was exceeded." ::= { slapmPolicyMonitorEntry 21 } slapmPolicyMonitorMaxOutDelayExceeds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that a maximum delay out rate was exceeded." ::= { slapmPolicyMonitorEntry 22 } slapmPolicyMonitorRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create White, Kenneth Expires March 1999 [Page 23] Internet Draft SLAPM-MIB September 30, 1998 STATUS current DESCRIPTION "This object allows entries to be created and deleted in the slapmPolicyMonitorTable. An entry in this table is deleted by setting this object to destroy(6). Removal of a corresponding (same policy and traffic profile names) slapmPolicyStatsEntry has the side effect of the automatic deletion an entry in this table." ::= { slapmPolicyMonitorEntry 23 } -- Subcomponent Table slapmSubcomponentTable OBJECT-TYPE SYNTAX SEQUENCE OF SlapmSubcomponentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines a table to provide information on the individually components that are mapped to a policy traffic profile. The indexing for this table is designed to support the use of an SNMP GET-NEXT operation using only the remote address and remote port as a way for a management station to retrieve the table entries relating to a particular client." ::= { slapmTableObjects 3 } slapmSubcomponentEntry OBJECT-TYPE SYNTAX SlapmSubcomponentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Describes a particular subcomponent entry. This table does not have slapmPolicyStatsOwnerIndex as part of its indexing since this table's contents is intended to span multiple users." INDEX { slapmSubcomponentRemAddress, slapmSubcomponentRemPort, slapmSubcomponentLocalAddress, slapmSubcomponentLocalPort } ::= { slapmSubcomponentTable 1 } SlapmSubcomponentEntry ::= SEQUENCE { slapmSubcomponentRemAddress OCTET STRING, slapmSubcomponentRemPort Integer32, slapmSubcomponentLocalAddress OCTET STRING, slapmSubcomponentLocalPort Integer32, slapmSubcomponentProtocol INTEGER, slapmSubcomponentSystemAddress OCTET STRING, slapmSubcomponentPolicyName SlapmNameType, White, Kenneth Expires March 1999 [Page 24] Internet Draft SLAPM-MIB September 30, 1998 slapmSubcomponentTrafficProfileName SlapmNameType, slapmSubcomponentLastActivity DateAndTime, slapmSubcomponentInOctets Counter32, slapmSubcomponentOutOctets Counter32, slapmSubcomponentTcpOutBufferedOctets Counter32, slapmSubcomponentTcpInBufferedOctets Counter32, slapmSubcomponentTcpReXmts Counter32, slapmSubcomponentTcpRoundTripTime Integer32, slapmSubcomponentTcpRoundTripVariance Integer32, slapmSubcomponentInPdus Counter32, slapmSubcomponentOutPdus Counter32, slapmSubcomponentApplName SlapmNameType, slapmSubcomponentMonitorStatus SlapmStatus, slapmSubcomponentMonitorIntTime DateAndTime, slapmSubcomponentMonitorCurrentOutRate Gauge32, slapmSubcomponentMonitorCurrentInRate Gauge32 } slapmSubcomponentRemAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicate the remote address of a subcomponent. A remote address can be either an ipv4 address in which case 4 octets are required or as an ipv6 address that requires 16 octets. The value of this subidentifier is a zero length octet string when this entry relates to a UDP listener." ::= { slapmSubcomponentEntry 1 } slapmSubcomponentRemPort OBJECT-TYPE SYNTAX Integer32(0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicate the remote port of a subcomponent. The value of this subidentifier is 0 when this entry relates to a UDP listener." ::= { slapmSubcomponentEntry 2 } slapmSubcomponentLocalAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE(4 | 16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicate the local address of a subcomponent. A local address can be either an ipv4 address in which case 4 octets are required or as an ipv6 address that requires 16 octets." ::= { slapmSubcomponentEntry 3 } slapmSubcomponentLocalPort OBJECT-TYPE SYNTAX Integer32(0..65535) MAX-ACCESS not-accessible White, Kenneth Expires March 1999 [Page 25] Internet Draft SLAPM-MIB September 30, 1998 STATUS current DESCRIPTION "Indicate the local port of a subcomponent." ::= { slapmSubcomponentEntry 4 } slapmSubcomponentProtocol OBJECT-TYPE SYNTAX INTEGER { udpListener(1), tcpConnection(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicate the protocol in use that identifies the type of subcomponent." ::= { slapmSubcomponentEntry 5 } slapmSubcomponentSystemAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..16)) MAX-ACCESS read-only STATUS current DESCRIPTION "Address of a system that an Policy definition relates to. A zero length octet string can be used to indicate that only a single system is being represented. Otherwise, the length of the octet string should be 4 for an ipv4 address and 16 for an ipv6 address." ::= { slapmSubcomponentEntry 6 } slapmSubcomponentPolicyName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS read-only STATUS current DESCRIPTION "Policy name that this entry relates to." ::= { slapmSubcomponentEntry 7 } slapmSubcomponentTrafficProfileName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS read-only STATUS current DESCRIPTION "The corresponding traffic profile name." ::= { slapmSubcomponentEntry 8 } slapmSubcomponentLastActivity OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 100ths of seconds since this entry was last used." DEFVAL { '0000000000000000'H } ::= { slapmSubcomponentEntry 9 } White, Kenneth Expires March 1999 [Page 26] Internet Draft SLAPM-MIB September 30, 1998 slapmSubcomponentInOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets received from IP for this connection." ::= { slapmSubcomponentEntry 10 } slapmSubcomponentOutOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets sent to IP for this connection." ::= { slapmSubcomponentEntry 11 } slapmSubcomponentTcpOutBufferedOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of outgoing octets buffered. The value of this object is zero when the entry is not for a TCP connection." ::= { slapmSubcomponentEntry 12 } slapmSubcomponentTcpInBufferedOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of incoming octets buffered. The value of this object is zero when the entry is not for a TCP connection." ::= { slapmSubcomponentEntry 13 } slapmSubcomponentTcpReXmts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of retransmissions. The value of this object is zero when the entry is not for a TCP connection." ::= { slapmSubcomponentEntry 14 } slapmSubcomponentTcpRoundTripTime OBJECT-TYPE SYNTAX Integer32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of time that has elapsed, measured in White, Kenneth Expires March 1999 [Page 27] Internet Draft SLAPM-MIB September 30, 1998 milliseconds, from when the last TCP segment was transmitted by the TCP Stack until the ACK was received. The value of this object is zero when the entry is not for a TCP connection." ::= { slapmSubcomponentEntry 15 } slapmSubcomponentTcpRoundTripVariance OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Round trip time variance. The value of this object is zero when the entry is not for a TCP connection." ::= { slapmSubcomponentEntry 16 } slapmSubcomponentInPdus OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of protocol related data units transferred inbound: slapmSubcomponentProtocol PDU Type udpListener(1) UDP datagrams tcpConnection(2) TCP segments" ::= { slapmSubcomponentEntry 17 } slapmSubcomponentOutPdus OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of protocol related data units transferred outbound: slapmSubcomponentProtocol PDU Type udpListener(1) UDP datagrams tcpConnection(2) TCP segments" ::= { slapmSubcomponentEntry 18 } slapmSubcomponentApplName OBJECT-TYPE SYNTAX SlapmNameType MAX-ACCESS read-only STATUS current DESCRIPTION "The application name associated with this entry if known, otherwise a zero-length octet string is returned as the value of this object." White, Kenneth Expires March 1999 [Page 28] Internet Draft SLAPM-MIB September 30, 1998 ::= { slapmSubcomponentEntry 19 } slapmSubcomponentMonitorStatus OBJECT-TYPE SYNTAX SlapmStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object indicates when a monitored value has exceeded a threshold or isn't meeting the defined service level. Only the following SlapmStatus BITS setting can be reported here: monitorMinInRateNotAchieved(6), monitorMaxInRateExceeded(7), monitorMaxInDelayExceeded(8), monitorMinOutRateNotAchieved(9), monitorMaxOutRateExceeded(10), monitorMaxOutDelayExceeded(11) This object only has meaning when an corresponding slapmPolicyMonitorEntry exists with the slapmPolicyMonitorControl BITS setting monitorSubcomponents(5) enabled." ::= { slapmSubcomponentEntry 20 } slapmSubcomponentMonitorIntTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp for when the last interval ended. This object only has meaning when an corresponding slapmPolicyMonitorEntry exists with the slapmPolicyMonitorControl BITS setting monitorSubcomponents(5) enabled. All of the octets returned when monitoring is not in effect must be zero." DEFVAL { '0000000000000000'H } ::= { slapmSubcomponentEntry 21 } slapmSubcomponentMonitorCurrentInRate OBJECT-TYPE SYNTAX Gauge32 UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Using the value of the corresponding slapmPolicyMonitorInterval, slapmSubcomponentStatsInOctets is divided by slapmSubcomponentMonitorInterval to determine the current in transfer rate. This object only has meaning when an corresponding slapmPolicyMonitorEntry exists with the slapmPolicyMonitorControl BITS setting White, Kenneth Expires March 1999 [Page 29] Internet Draft SLAPM-MIB September 30, 1998 monitorSubcomponents(5) enabled. The value of this object is zero when monitoring is not in effect." ::= { slapmSubcomponentEntry 22 } slapmSubcomponentMonitorCurrentOutRate OBJECT-TYPE SYNTAX Gauge32 UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Using the value of the corresponding slapmPolicyMonitorInterval, slapmSubcomponentStatsOutOctets is divided by slapmPolicyMonitorInterval to determine the current out transfer rate. This object only has meaning when an corresponding slapmPolicyMonitorEntry exists with the slapmPolicyMonitorControl BITS setting monitorSubcomponents(5) enabled. The value of this object is zero when monitoring is not in effect." ::= { slapmSubcomponentEntry 23 } -- Notifications slapmMonitoredEventNotAchieved NOTIFICATION-TYPE OBJECTS { slapmPolicyMonitorIntTime, slapmPolicyMonitorControl, slapmPolicyMonitorStatus, slapmPolicyMonitorStatus, slapmPolicyMonitorCurrentInRate, slapmPolicyMonitorCurrentOutRate } STATUS current DESCRIPTION "This notification is generated when an monitored event is not achieved with respect to threshold. This applies only towards monitoring a policy traffic profile as an aggregate via an associating slapmPolicyStatsEntry. The value of slapmPolicyMonitorControl can be examined to determine what is being monitored. The first slapmPolicyMonitorStatus value supplies the current monitor status while the 2nd value supplies the previous status. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for this notification to potentially be generated." ::= { slapmNotifications 1 } slapmMonitoredEventOkay NOTIFICATION-TYPE OBJECTS { slapmPolicyMonitorIntTime, White, Kenneth Expires March 1999 [Page 30] Internet Draft SLAPM-MIB September 30, 1998 slapmPolicyMonitorControl, slapmPolicyMonitorStatus, slapmPolicyMonitorStatus, slapmPolicyMonitorCurrentInRate, slapmPolicyMonitorCurrentOutRate } STATUS current DESCRIPTION "This notification is generated when a monitored event has improved to an acceptable level. This applies only towards monitoring a policy traffic profile as an aggregate via an associating slapmPolicyStatsEntry. The value of slapmPolicyMonitorControl can be examined to determine what is being monitored. The first slapmPolicyMonitorStatus value supplies the current monitor status while the 2nd value supplies the previous status. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableAggregateTraps(3), MUST be selected in order for this notification to potentially be generated." ::= { slapmNotifications 2 } slapmPolicyProfileDeleted NOTIFICATION-TYPE OBJECTS { slapmPolicyStatsActiveConns, slapmPolicyStatsTotalConns, slapmPolicyStatsFirstActivated, slapmPolicyStatsLastMapping, slapmPolicyStatsInOctets, slapmPolicyStatsOutOctets, slapmPolicyStatsConnectionLimit, slapmPolicyStatsCountAccepts, slapmPolicyStatsCountDenies, slapmPolicyStatsInDiscards, slapmPolicyStatsOutDiscards, slapmPolicyStatsInPackets, slapmPolicyStatsOutPackets, slapmPolicyStatsInProfileOctets, slapmPolicyStatsOutProfileOctets, slapmPolicyStatsMinRate, slapmPolicyStatsMaxRate, slapmPolicyStatsMaxDelay } STATUS current DESCRIPTION "A slapmPolicyDeleted notification is sent when a slapmPolicyStatsEntry is deleted if the value of slapmPolicyTrapEnable is enabled(1)." ::= { slapmNotifications 3 } slapmPolicyMonitorDeleted NOTIFICATION-TYPE OBJECTS { White, Kenneth Expires March 1999 [Page 31] Internet Draft SLAPM-MIB September 30, 1998 slapmPolicyMonitorStatus, slapmPolicyMonitorInterval, slapmPolicyMonitorIntTime, slapmPolicyMonitorCurrentInRate, slapmPolicyMonitorCurrentOutRate, slapmPolicyMonitorMinRateLow, slapmPolicyMonitorMinRateHigh, slapmPolicyMonitorMaxRateHigh, slapmPolicyMonitorMaxRateLow, slapmPolicyMonitorMaxDelayHigh, slapmPolicyMonitorMaxDelayLow, slapmPolicyMonitorMinInRateNotAchievies, slapmPolicyMonitorMaxInRateExceeds, slapmPolicyMonitorMaxInDelayExceeds, slapmPolicyMonitorMinOutRateNotAchievies, slapmPolicyMonitorMaxOutRateExceeds, slapmPolicyMonitorMaxOutDelayExceeds } STATUS current DESCRIPTION "A slapmPolicyMonitorDeleted notification is sent when a slapmPolicyMonitor is deleted if the value of slapmPolicyTrapEnable is enabled(1)." ::= { slapmNotifications 4 } slapmSubcomponentMonitoredEventNotAchieved NOTIFICATION-TYPE OBJECTS { slapmSubcomponentSystemAddress, slapmSubcomponentPolicyName, slapmSubcomponentTrafficProfileName, slapmSubcomponentMonitorStatus, slapmSubcomponentMonitorStatus, slapmSubcomponentMonitorIntTime, slapmSubcomponentMonitorCurrentInRate, slapmSubcomponentMonitorCurrentOutRate } STATUS current DESCRIPTION "This notification is generated when a monitored value does not achieved a threshold specification. This applies only towards monitoring the individual components of a policy traffic profile. The value of the corresponding slapmPolicyMonitorControl can be examined to determine what is being monitored. The first slapmSubcomponentMonitorStatus value supplies the current monitor status while the 2nd value supplies the previous status. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableSubcomponentTraps(4), MUST be selected in order for this notification to potentially be generated." ::= { slapmNotifications 5 } slapmSubcomponentMonitoredEventOkay NOTIFICATION-TYPE OBJECTS { White, Kenneth Expires March 1999 [Page 32] Internet Draft SLAPM-MIB September 30, 1998 slapmSubcomponentSystemAddress, slapmSubcomponentPolicyName, slapmSubcomponentTrafficProfileName, slapmSubcomponentMonitorStatus, slapmSubcomponentMonitorStatus, slapmSubcomponentMonitorIntTime, slapmSubcomponentMonitorCurrentInRate, slapmSubcomponentMonitorCurrentOutRate } STATUS current DESCRIPTION "This notification is generated when a monitored value has reached an acceptable level. Note: The corresponding slapmPolicyMonitorControl BITS setting, enableSubcomponentTraps(3), MUST be selected in order for this notification to potentially be generated." ::= { slapmNotifications 6 } --------------------------------------------------------------------- -- Conformance information -- Compliance statements --------------------------------------------------------------------- slapmCompliances OBJECT IDENTIFIER ::= { slapmConformance 1 } slapmGroups OBJECT IDENTIFIER ::= { slapmConformance 2 } --------------------------------------------------------------------- -- Compliance statements --------------------------------------------------------------------- slapmCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the SLAPM-MIB." MODULE -- this module MANDATORY-GROUPS { slapmBaseGroup, slapmNotGroup } GROUP slapmEndSystemGroup DESCRIPTION "The contents of this group is required by end-system implementations." GROUP slapmOptionalGroup DESCRIPTION "The contents of this group is optional, since not all systems are capable of generating the values associated with these objects." GROUP slapmEndSystemNotGroup DESCRIPTION "The contents of this group is required by end-system implementations." ::= { slapmCompliances 1 } White, Kenneth Expires March 1999 [Page 33] Internet Draft SLAPM-MIB September 30, 1998 --------------------------------------------------------------------- -- MIB groupings --------------------------------------------------------------------- slapmBaseGroup OBJECT-GROUP OBJECTS { slapmSpinLock, slapmPolicyCountQueries, slapmPolicyCountAccesses, slapmPolicyCountSuccessAccesses, slapmPolicyCountNotFounds, slapmPolicyPurgeTime, slapmPolicyTrapEnable, slapmPolicyStatsOperStatus, slapmPolicyStatsActiveConns, slapmPolicyStatsFirstActivated, slapmPolicyStatsLastMapping, slapmPolicyStatsInOctets, slapmPolicyStatsOutOctets, slapmPolicyStatsConnectionLimit, slapmPolicyStatsTotalConns, slapmPolicyStatsCountAccepts, slapmPolicyStatsCountDenies, slapmPolicyStatsInDiscards, slapmPolicyStatsOutDiscards, slapmPolicyStatsInPackets, slapmPolicyStatsOutPackets, slapmPolicyStatsMinRate, slapmPolicyStatsMaxRate, slapmPolicyStatsMaxDelay, slapmPolicyMonitorControl, slapmPolicyMonitorStatus, slapmPolicyMonitorInterval, slapmPolicyMonitorIntTime, slapmPolicyMonitorCurrentInRate, slapmPolicyMonitorCurrentOutRate, slapmPolicyMonitorMinRateLow, slapmPolicyMonitorMinRateHigh, slapmPolicyMonitorMaxRateHigh, slapmPolicyMonitorMaxRateLow, slapmPolicyMonitorMaxDelayHigh, slapmPolicyMonitorMaxDelayLow, slapmPolicyMonitorMinInRateNotAchievies, slapmPolicyMonitorMaxInRateExceeds, slapmPolicyMonitorMaxInDelayExceeds, slapmPolicyMonitorMinOutRateNotAchievies, slapmPolicyMonitorMaxOutRateExceeds, slapmPolicyMonitorMaxOutDelayExceeds, slapmPolicyMonitorRowStatus } STATUS current DESCRIPTION "The group of objects defined by this MIB that are required for all implementations to be compliant." White, Kenneth Expires March 1999 [Page 34] Internet Draft SLAPM-MIB September 30, 1998 ::= { slapmGroups 1 } slapmOptionalGroup OBJECT-GROUP OBJECTS { slapmPolicyStatsInProfileOctets, slapmPolicyStatsOutProfileOctets } STATUS current DESCRIPTION "The group of objects defined by this MIB that are optional." ::= { slapmGroups 2 } slapmEndSystemGroup OBJECT-GROUP OBJECTS { slapmSubcomponentProtocol, slapmSubcomponentSystemAddress, slapmSubcomponentPolicyName, slapmSubcomponentTrafficProfileName, slapmSubcomponentLastActivity, slapmSubcomponentInOctets, slapmSubcomponentOutOctets, slapmSubcomponentTcpOutBufferedOctets, slapmSubcomponentTcpInBufferedOctets, slapmSubcomponentTcpReXmts, slapmSubcomponentTcpRoundTripTime, slapmSubcomponentTcpRoundTripVariance, slapmSubcomponentInPdus, slapmSubcomponentOutPdus, slapmSubcomponentApplName, slapmSubcomponentMonitorStatus, slapmSubcomponentMonitorIntTime, slapmSubcomponentMonitorCurrentOutRate, slapmSubcomponentMonitorCurrentInRate } STATUS current DESCRIPTION "The group of objects defined by this MIB that are required for end system implementations." ::= { slapmGroups 3 } slapmNotGroup NOTIFICATION-GROUP NOTIFICATIONS { slapmMonitoredEventNotAchieved, slapmMonitoredEventOkay, slapmPolicyProfileDeleted, slapmPolicyMonitorDeleted } STATUS current DESCRIPTION "The group of notifications defined by this MIB that MUST be implemented." ::= { slapmGroups 4 } slapmEndSystemNotGroup NOTIFICATION-GROUP White, Kenneth Expires March 1999 [Page 35] Internet Draft SLAPM-MIB September 30, 1998 NOTIFICATIONS { slapmSubcomponentMonitoredEventNotAchieved, slapmSubcomponentMonitoredEventOkay } STATUS current DESCRIPTION "The group of objects defined by this MIB that are required for end system implementations." ::= { slapmGroups 5 } END 5.0 Security Considerations Certain management information defined in this MIB may be considered sensitive in some network environments. Therefore, authentication of received SNMP requests and controlled access to management information SHOULD be employed in such environments. The method for this authentication is a function of the SNMP Administrative Framework, and has not been expanded by this MIB. It is RECOMMENDED that the slapmPolicyMonitorTable and slapmSubcomponentTable not be supported in insecure environments. 6.0 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 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 implementers 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. 7.0 Acknowledgments This document is a product of the IETF. 8.0 References White, Kenneth Expires March 1999 [Page 36] Internet Draft SLAPM-MIB September 30, 1998 [1] Case, J., M. Fedor, M. Schoffstall, J. Davin, "Simple Network Management Protocol", RFC 1157, SNMP Research, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [2] McCloghrie, K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [3] Case, J., McCloghrie, K., Rose, M., and Waldbusser S., "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [4] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996. [5] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996. [6] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [7] Harrington D., Presuhn, R., Wijnen, B., "An Architecture for Describing SNMP Management Frameworks", RFC 2271, Cabletron Systems, BMC Software, Inc., IBM T.J. Watson Research, January 1998. [8] Harrington D., Presuhn, R., Wijnen, B., "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, Cabletron Systems, BMC Software, Inc., IBM T.J. Watson Research, January 1998. [9] Levi D., Meyer P., Stewart, B., "SNMPv3 Applications", RFC 2273, SNMP Research, Inc., Secure Computing Corporation, Cisco Systems, January 1998. [10] Blumenthal, U., Wijnen, B., "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, IBM T. J. Watson Research, January 1998. [11] Wijnen, B., Presuhn, R., McCloghrie, K., "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, IBM T.J. Watson Research, BMC Software, Inc., Cisco Systems, Inc., January 1998. [12] Hovey, R., and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996. [13] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. White, Kenneth Expires March 1999 [Page 37] Internet Draft SLAPM-MIB September 30, 1998 [14] 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. [15] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991. [16] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991. [17] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [18] 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. [19] "Schema for Service Level Administration of Differentiated Services and Integrated Services in Networks", , June 1, 1998. [20] McCloghrie, K. and Bierman, A., "Entity MIB using SMIv2", RFC 2037, October 1996. 9.0 Author's Address Kenneth D. White Dept. BRQA/Bldg. 501/G114 IBM Corporation P.O.Box 12195 3039 Cornwallis Research Triangle Park, NC 27709, USA E-mail: kennethw@vnet.ibm.com 10.0 Full Copyright Statement Copyright (C) The Internet Society (1997). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet White, Kenneth Expires March 1999 [Page 38] Internet Draft SLAPM-MIB September 30, 1998 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. White, Kenneth Expires March 1999 [Page 39]