Event MIB

                             26 March
                  draft-ietf-disman-event-mib-02.txt

			    21 November	1997

                  draft-ietf-disman-event-mib-01.txt

			      Bob Stewart
			  Cisco	Systems, Inc.
			   bstewart@cisco.com

			  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
and may	be updated, replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference	material
or to cite them	other than as ``work in	progress.''

To learn the current status of any Internet-Draft, please check	the
``1id-abstracts.txt'' listing contained	in the Internet- Drafts	Shadow
Directories on ds.internic.net (US East	Coast),	nic.nordu.net (Europe),
ftp.isi.edu (US	West Coast), or	munnari.oz.au (Pacific Rim).

9

1.  Abstract

This memo defines an experimental portion of the Management Information
Base (MIB) for use with	network	management protocols in	the Internet
community.  In particular, it describes	managed	objects	used for
managing monitoring of MIB objects and taking action through events.

9

2.  The	SNMP Network Management	Framework

They are: The SNMP Network Management Framework	presently consists of
three major components.	 They are:

  the SMI, described in	RFC 1902 [1] - the mechanisms used for
  describing and naming	objects	for the	purpose	of management.

  the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for
  the Internet suite of	protocols.

  the protocol,	RFC 1157 [3] and/or RFC	1905 [4], - the	protocol for
  accessing managed objects.

The Framework permits new objects to be	defined	for the	purpose	of
experimentation	and evaluation.

2.1.  Object Definitions

Managed	objects	are accessed via a virtual information store, termed the
Management Information Base or MIB.  Objects in	the MIB	are defined
using the subset of Abstract Syntax Notation One (ASN.1) defined in the
SMI.  In particular, each object type is named by an OBJECT IDENTIFIER,
an administratively assigned name.  The	object type together with an
object instance	serves to uniquely identify a specific instantiation of
the object.  For human convenience, we often use a textual string,
termed the descriptor, to refer	to the object type.

9

3.  Overview

This MIB is based heavily on the RMON and Manager-to-Manager MIBs. It
depends	on the services	of the Target, Notification, and Expression
MIBs.

All of this must suit either a relatively powerful manager or mid-level
manager, as well as a somewhat more limited self-managing system.

4.  Known Problems

The error code for a failure comes from	a now non-existent MIB.	 I
suppose	those codes will need to be transplanted here.

The error handling depeds somewhat on notifications and	had assumed the
existence of a logging MIB, which evaporated as	did the	above-mentioned
error codes.

The description	of RMON-like threshold operation is broken and needs to
be changed to be like RMON.

The compliance section is missing.

9

5.  Definitions

EVENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    experimental, Integer32, Unsigned32
    NOTIFICATION-TYPE			FROM SNMPv2-SMI
    TEXTUAL-CONVENTION,	RowStatus,
    TimeStamp, DisplayString,
    AutonomousType, DateAndTime	FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP	FROM SNMPv2-CONF
    EntryIndex, EntryName,
    EntryIndexOrZero                    FROM MANAGEMENT-TARGET-MIB
    FailureReason				FROM NOTIFICATION-MIB
    SnmpTagValue				FROM SNMP-TARGET-MIB
    SnmpAdminString			FROM SNMP-FRAMEWORK-MIB;

eventMIB MODULE-IDENTITY
    LAST-UPDATED "9703241700Z"
    ORGANIZATION "IETF Distributed Management Working Group"
    CONTACT-INFO "Bob Stewart
		  Cisco	Systems, Inc.
		  170 West Tasman Drive,
		  San Jose CA 95134-1706.
		  Phone: +1 408	526 4527
		  Email: bstewart@cisco.com"
    DESCRIPTION
	"The MIB module	for defining event triggers and	actions
	for network management purposes."
    ::=	{ experimental xx }

eventMIBObjects	OBJECT IDENTIFIER ::= {	eventMIB 1 }

mteTrigger		OBJECT IDENTIFIER ::= {	eventMIBObjects	1 }
mteEvent		OBJECT IDENTIFIER ::= {	eventMIBObjects	2 }

--
-- Textual Conventions
--

EntryName ::= TEXTUAL-CONVENTION
    STATUS	current
    DESCRIPTION
	"An identification for an entry.  An EntryName corresponds
	one-to-one to an EntryIndex.

	This identification of an entry	is subject to change
	only by	administrative request."
    SYNTAX	SnmpAdminString

EntryIndex	::= TEXTUAL-CONVENTION
    STATUS	current
    DESCRIPTION
	"An integer shorthand identification for an entry.
	An EntryIndex corresponds one-to-one to	an EntryName.

	Once assigned an EntryIndex may	not be changed."
    SYNTAX	Unsigned32 (1..4294967295)

EntryIndexOrZero ::= TEXTUAL-CONVENTION
    STATUS	current
    DESCRIPTION
	"Either	an EntryIndex or zero.	The meaning of zero
	 depends on the	DESCRIPTION of the object."
    SYNTAX	Unsigned32 (0..4294967295)

--
-- Trigger Section
--

mteTriggerLastChange OBJECT-TYPE
    SYNTAX	TimeStamp
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The value of sysUpTime	at the most recent addition or
	deletion of a trigger or a trigger name	change.

	A management application can monitor this object to
	know that the trigger list has changed in a way
	requiring reloading of the trigger names."
    ::=	{ mteTrigger 1 }

mteTriggerFailures OBJECT-TYPE
    SYNTAX	Counter32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The number of times an	attempt	to check for a trigger
	condition has failed.  This counts individually	for each
    attempt in a group of targets or each attempt for a
	wildcarded object."
    ::=	{ mteTrigger 2 }

mteTriggerLastFailedTrigger OBJECT-TYPE
    SYNTAX	triggerIndex
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The trigger that last failed an attempt to check for a
	trigger	condition."
    ::=	{ mteTrigger 3 }

mteTriggerLastFailedReason OBJECT-TYPE
    SYNTAX	FailureReason
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The reason for	the last failure of an attempt to check
	for a trigger condition."
    ::=	{ mteTrigger 4 }

mteTriggerLastFailedTargetGroup

mteTriggerLastFailedTargetTag OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpTagValue
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The target group of the last failed attempt to	check a
	trigger	condition.  The value	length 0 means this does not apply."
    ::=	{ mteTrigger 5 }

mteTriggerLastFailedTargetScope

mteTriggerLastFailedTargetName OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpAdminString
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The target scope name of the	last failed attempt to check a
	trigger	condition.  The value	length 0 means this does not apply"
    ::=	{ mteTrigger 6 }

mteTriggerLastValueID OBJECT-TYPE
    SYNTAX	OBJECT IDENTIFIER
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
    "The object	identifier from	mteTriggerValueID from the last
	attempt	to check a trigger condition.  This must
	be as full-qualified as	possible, including filling in
	wild-card information determined in processing."
    ::=	{ mteTrigger 7 }

mteTriggerLastValue OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	notification-only
    STATUS	current
    DESCRIPTION
	"The value of the object at mteTriggerValueID when a
	trigger	fires."
    ::=	{ mteTrigger 8 }

mteTriggerTargetScope

mteTriggerTargetName OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpAdminString
    MAX-ACCESS	notification-only
    STATUS	current
    DESCRIPTION
	"The targetIndex of the scope target name for which the trigger fires fired or	for which a
	check was attempted."
    ::=	{ mteTrigger 9 }

--
-- Trigger Creation Table
--

mteTriggerCreationTable	OBJECT-TYPE
    SYNTAX	SEQUENCE OF MteTriggerCreationEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of triggers for network management events."
    ::=	{ mteTrigger 10	}

mteTriggerCreationEntry	OBJECT-TYPE
    SYNTAX	MteTriggerCreationEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"Information about a single trigger.

	To create an entry create the named entry in this
    table and activate it with mteTriggerCreationStatus.  Then use
	mteTriggerIndex	to populate mteTriggerTable.

	Deleting an entry deletes the related entry in
	mteTriggerTable."
    INDEX	{ IMPLIED mteTriggerCreationName }
    ::=	{ mteTriggerCreationTable 1 }

MteTriggerCreationEntry	::= SEQUENCE {
    mteTriggerCreationName		EntryName,
    mteTriggerIndex			EntryIndex,
    mteTriggerCreationStatus		RowStatus
}

mteTriggerCreationName OBJECT-TYPE
    SYNTAX	EntryName
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A locally-unique, administratively assigned name for the	trigger."
    ::=	{ mteTriggerCreationEntry 1 }

mteTriggerIndex	OBJECT-TYPE
    SYNTAX	EntryIndex
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The numeric identification of the trigger."
    ::=	{ mteTriggerCreationEntry 2 }

mteTriggerCreationStatus OBJECT-TYPE
    SYNTAX	RowStatus
    MAX-ACCESS	read-create
    STATUS	current
    DESCRIPTION
	"The control that allows creation/deletion of entries.
	Once made active an entry may not be modified except to
	delete it or change its	name via mteTriggerName."
    ::=	{ mteTriggerCreationEntry 3 }

--
-- Trigger Table
--

mteTriggerTable	OBJECT-TYPE
    SYNTAX	SEQUENCE OF MteTriggerEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of management event trigger information."
    ::=	{ mteTrigger 11	}

mteTriggerEntry	OBJECT-TYPE
    SYNTAX	MteTriggerEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"Information about a single management event trigger.

	An entry appears in this table when an mteTriggerCreationEntry
	is activated. Deleting the matching mteTriggerCreationEntry
	deletes	this entry."
    INDEX	{ mteTriggerIndex }
    ::=	{ mteTriggerteble 1 }

MteTriggerEntry	::= SEQUENCE {
    mteTriggerName			EntryName,
    mteTriggerComment			DisplayString,
    mteTriggerTest			INTEGER,
    mteTriggerValueID			Integer32,
    mteTriggerValueIDWildcard		TruthValue,
    mteTriggerFrequency			Integer32,
    mteTriggerTarget            EntryIndexOrZero,
    mteTriggerTargetTag			SnmpTagValue,
    mteTriggerRisingThreshold		Integer32,
    mteTriggerFallingThreshold	Integer32,
    mteTriggerEvent			EntryIndexOrZero,
    mteTriggerRisingEvent		EntryIndexOrZero,
    mteTriggerFallingEvent		EntryIndexOrZero
}

mteTriggerName OBJECT-TYPE
    SYNTAX	EntryName
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The unique name of the	target trigger,	identical to
	mteTriggerCreationName.

	Use this object	to change the trigger's	mteTriggerCreationName
	without	changing its mteTriggerIndex."
    ::=	{ mteTriggerEntry 1 }

mteTriggerComment OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"A description of the trigger's	function and use."
    DEFVAL { ''H }
    ::=	{ mteTriggerEntry 2 }

mteTriggerTest OBJECT-TYPE
    SYNTAX	INTEGER	{ boolean(1), threshold(2) }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The type of trigger test to perform.  For all tests,
	mteTriggerValue	must evaluate to an integer.

	For 'boolean', a value of 0 is false. A	non-zero value
	is true	and fires the trigger.

	For 'threshold'	it works like RMON and the text	needs to
	be copied into this MIB."
    DEFVAL { boolean }
    ::=	{ mteTriggerEntry 3 }

mteTriggerValueID OBJECT-TYPE
    SYNTAX	OBJECT IDENTIFIER
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The object identifier of the MIB object to check to see
	if the trigger should fire.

	This may be wildcarded by truncating all or part of the
	instance portion, in which case	the condition is obtained
	as if with a GetNext function, checking	multiple values
	if they exist."	exist.	If such	wildcarding is applied,
	mteTriggerIDWildcard must be 'true' and	if not it must
	be 'false'."
    DEFVAL { 0 0 }
    ::=	{ mteTriggerEntry 4 }

mteTriggerValueIDWildcard OBJECT-TYPE
    SYNTAX	TruthValue
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"Control over which mteTriggerValueID is to be treated as
	fully-specified	or wildcarded, with 'true' indicating wildcard.
    DEFVAL { false }
    ::=	{ mteTriggerEntry 5 }

mteTriggerFrequency OBJECT-TYPE
    SYNTAX	Integer32 (1..65535) (0..65535)
    UNITS	"seconds"
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The number of seconds to wait between trigger condition
	checks.	 To encourage consistency in sampling, the
	interval is measured from the beginning	of one check to
	the beginning of the next." next and the timer	is restarted immediately
	when it	expires, not when the check completes.

	If the next check begins before	the previous one completed the
	system may either attempt to make the check or treat this as an
	error condition.

	A frequency of 0 indicates instantaneous recognition of	the
	condition.  This is not	possible in many cases,	but such may
	be supported in	cases where it makes sense and the system is
	able to	do so."
    DEFVAL { 600 }
    ::=	{ mteTriggerEntry 5 6 }

mteTriggerTarget

mteTriggerTargetTag OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpTagValue
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The targetIndex of tag for the scope or group of scopes target(s) from	which to obtain	the condition
	for a trigger check.

	A value length of 0 indicates	the local system."
    DEFVAL { 0 ''H }
    ::=	{ mteTriggerEntry 6 7 }

mteTriggerRisingThreshold OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"A threshold value to check against if mteTriggerType is
	'threshold'.  In this case if the value	of the object at
	mteTriggerValueID is greater than or equal to this threshold
	and the	value at the last sampling interval was	less than
	this threshold,	one mteTriggerRisingEvent is triggered.

	If mteTriggerType is not 'threshold', this object is not
	instantiated."
    DEFVAL { 0 }
    ::=	{ mteTriggerEntry 7 8 }

mteTriggerFallingThreshold OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"A threshold value to check against if mteTriggerType is
	'threshold'.  In this case if the value	of the object at
	mteTriggerValueID is less than or equal	to this	threshold
	and the	value at the last sampling interval was	greater	than
	this threshold,	one mteTriggerFallingEvent is triggered.

	If mteTriggerType is not 'threshold', this object is not
	instantiated."
    DEFVAL { 0 }
    ::=	{ mteTriggerEntry 8 9 }

mteTriggerEvent	OBJECT-TYPE
    SYNTAX	EntryIndexOrZero
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The event to invoke when mteTriggerType is 'boolean' and
	this trigger fires.  A value of	0 indicates no event.

	If mteTriggerType is not 'boolean', this object	is not
	instantiated."
    DEFVAL { 0 }
    ::=	{ mteTriggerEntry 9 10 }

mteTriggerRisingEvent OBJECT-TYPE
    SYNTAX	EntryIndexOrZero
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The event to invoke when mteTriggerType is 'threshold'	and
	this trigger fires based on mteTriggerRisingThreshold.	A
	value of 0 indicates no	event.

	If mteTriggerType is not 'threshold', this object is not
	instantiated."
    DEFVAL { 0 }
    ::=	{ mteTriggerEntry 10 11 }

mteTriggerFallingEvent OBJECT-TYPE
    SYNTAX	EntryIndexOrZero
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The event to invoke when mteTriggerType is 'threshold'	and
	this trigger fires based on mteTriggerFallingThreshold.	 A
	value of 0 indicates no	event.

	If mteTriggerType is not 'threshold', this object is not
	instantiated."
    DEFVAL { 0 }
    ::=	{ mteTriggerEntry 11 12 }

--
-- Event Section
--

mteEventLastChange OBJECT-TYPE
    SYNTAX	TimeStamp
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The value of sysUpTime	at the most recent addition or
	deletion of an event or	an event name change.

	A management application can monitor this object to
	know that the event list has changed in	a way
	requiring reloading of the event names."
    ::=	{ mteEvent 1 }

mteEventFailures OBJECT-TYPE
    SYNTAX	Counter32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The number of times an	attempt	to invoke an event
	has failed.  This counts individually for each
	attempt	in a group of targets or each attempt for a
	wildcarded trigger object."
    ::=	{ mteEvent 2 }

mteEventLastFailedEvent	OBJECT-TYPE
    SYNTAX	eventIndex
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The event that	last failed an attempted invocation."
    ::=	{ mteEvent 3 }

mteEventLastFailedReason OBJECT-TYPE
    SYNTAX	FailureReason
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The reason for	the last failure of an attempted event
	invocation."
    ::=	{ mteEvent 4 }

mteEventLastFailedTargetGroup

mteEventLastFailedTargetTag OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpTagValue
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The target group tag	of the last failed attempt to invoke an
	event.	The value length 0 means this	does not apply."
    ::=	{ mteEvent 5 }

mteEventLastFailedTargetScope

mteEventLastFailedTargetName OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpAdminString
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The target scope name of the	last failed attempt to invoke an
	event.	The value length 0 means this	does not apply"
    ::=	{ mteEvent 6 }
9

--
-- Event Creation Table
--

mteEventCreationTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF MteEventCreationEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of events for network management action."
    ::=	{ mteEvent 7 }

mteEventCreationEntry OBJECT-TYPE
    SYNTAX	MteEventCreationEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"Information about a single event.

	To create an entry create the named entry in this
	table and activate it with mteEventCreationStatus.  Then use
	mteEventIndex to populate mteEventTable.

	Deleting an entry deletes the related entry in
	mteEventTable."
    INDEX	{ IMPLIED mteEventCreationName }
    ::=	{ mteEventCreationTable	1 }

MteEventCreationEntry ::= SEQUENCE {
    mteEventCreationName		EntryName,
    mteEventIndex				EntryIndex,
    mteEventCreationStatus		RowStatus
}

mteEventCreationName OBJECT-TYPE
    SYNTAX	EntryName
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A locally-unique, administratively assigned name for the	event."
    ::=	{ mteEventCreationEntry	1 }

mteEventIndex OBJECT-TYPE
    SYNTAX	EntryIndex
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The numeric identification of the event."
    ::=	{ mteEventCreationEntry	2 }

mteEventCreationStatus OBJECT-TYPE
    SYNTAX	RowStatus
    MAX-ACCESS	read-create
    STATUS	current
    DESCRIPTION
	"The control that allows creation/deletion of entries.
	Once made active an entry may not be modified except to
	delete it or change its	name via mteEventName."
    ::=	{ mteEventCreationEntry	3 }

--
-- Event Table
--

mteEventTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF MteEventEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of management event action information."
    ::=	{ mteEvent 3 }

mteEventEntry OBJECT-TYPE
    SYNTAX	MteEventEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"Information about a single management event's actions.

	An entry appears in this table when an mteEventCreationEntry
	is activated. Deleting the matching mteEventCreationEntry
	deletes	this entry."
    INDEX	{ mteEventIndex	}
    ::=	{ mteEventTable	1 }

MteEventEntry ::= SEQUENCE {
    mteEventName			EntryName,
    mteEventComment		DisplayString,
    mteEventActions		BITS,
    mteEventNotification	OBJECT IDENTIFIER,
    mteEventSetObject		OBJECT IDENTIFIER,
    mteEventSetValue		Integer32,
    mteEventTarget              EntryIndexOrZero
    mteEventSetTargetTag	SnmpTagValue
    }

mteEventName OBJECT-TYPE
    SYNTAX	EntryName
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The unique name of the	event, identical to
	mteEventCreationName.

	Use this object	to change the event's mteEventCreationName
	without	changing its mteEventIndex."
    ::=	{ mteEventEntry	1 }

mteEventComment	OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"A description of the event's function and use."
    DEFVAL { ''H }
    ::=	{ mteEventEntry	2 }

mteEventActions	OBJECT-TYPE
    SYNTAX	BITS { notification, trap, inform, set }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The actions to	peform when this event occurs.

	For 'notification', Traps and/or Informs are sent according
	to the configuration in	the Notification MIB..

        For 'trap', Traps are sent unless the Notification MIB
        has the Trap 'hardDisabled' or there are no targets for it.

        For 'inform', Informs are sent unless the Notification MIB
        has the Inform 'hardDisabled' or there are no targets for it. SNMP-NOTIFICATION-MIB.

	For 'set', an SNMP Set operation is performed according	to
	control	values in this entry."
    DEFVAL { 0 }
    ::=	{ mteEventEntry	3 }

mteEventNotification OBJECT-TYPE
    SYNTAX	OBJECT IDENTIFIER
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The object identifier from the	NOTIFICATION-TYPE for the
	notification to	use if metEventActions has 'notification',
        'trap', or 'inform' 'notification' set.

	If none	of the above bits are set, this	object is not
	instantiated."
    DEFVAL { 0 0 }
    ::=	{ mteEventEntry	4 }

mteEventSetObject OBJECT-TYPE
    SYNTAX	OBJECT IDENTIFIER
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The object identifier from the	MIB object to set if
	metEventActions	has 'set' set.

	If 'set' is not	set, this object is not	instantiated."
    DEFVAL { 0 0 }
    ::=	{ mteEventEntry	5 }

mteEventSetValue OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The value to which to set the object at mteEventSetObect."
    DEFVAL { 0 }
    ::=	{ mteEventEntry	6 }

mteEventSetTarget

mteEventSetTargetTag OBJECT-TYPE
    SYNTAX      EntryIndexOrZero	SnmpTagValue
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "A scope or group of scopes in
	"The tag for the target(s) at which to set the object at
	mteEventSetObject to mteEventSetValue.	A value length of 0
	indicates the local system."
    DEFVAL { 0 ''H }
    ::=	{ mteEventEntry	7 }

--
-- Notifications
--

eventMIBNotificationPrefix OBJECT IDENTIFIER ::= { eventMIB 2 }
eventMIBNotifications OBJECT IDENTIFIER	::= { eventMIBNotificationPrefix 0 }

mteTriggerSenseAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
	      mteTriggerTargetName,
	      mteTriggerLastValueID,
	      mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
	"Notification that the trigger indicated by the	object
	instances has fired, for triggers with mteTriggerType
	'boolean'."
    ::=	{ eventMIBNotifications	1 }

mteTriggerRisingAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
	      mteTriggerTargetName,
	      mteTriggerLastValueID,
	      mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
	"Notification that the rising threshold	was met	for triggers
	with mteTriggerType 'threshold'."
    ::=	{ eventMIBNotifications	2 }

mteTriggerFallingAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
	      mteTriggerTargetName,
	      mteTriggerLastValueID,
	      mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
	"Notification that the falling threshold was met for triggers
	with mteTriggerType 'threshold'."
    ::=	{ eventMIBNotifications	3 }

mteTriggerFailureAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
	      mteTriggerLastFailedReason,
              mteTriggerLastFailedTargetGroup,
              mteTriggerLastFailedTargetScope,
	      mteTriggerLastFailedTargetTag,
	      mteTriggerLastFailedTargetName,
	      mteTriggerLastFailedValueID }
    STATUS  current
    DESCRIPTION
    "Notification that an attempt to check a trigger has failed.

	The network manager must enable	this notification only with
	a certain fear and trembling, as it can	easily crowd out more
	important information.	It should be used only to help diagnose
	a problem that has appeared in the error counters and can not
	be found otherwise."
    ::=	{ eventMIBNotifications	4 }

mteEventFailureAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
	      mteTriggerTargetName,
	      mteTriggerLastValueID,
	      mteTriggerLastValue,
	      mteEventLastFailedReason,
              mteEventLastFailedTargetGroup,
              mteEventLastFailedTargetScope
	      mteEventLastFailedTargetTag,
	      mteEventLastFailedTargetName }
    STATUS  current
    DESCRIPTION
	"Notification that an attempt to check a trigger has failed.

	The network manager must enable	this notification only with
	a certain fear and trembling, as it can	easily crowd out more
	important information.	It should be used only to help diagnose
	a problem that has appeared in the error counters and can not
	be found otherwise."
    ::=	{ eventMIBNotifications	5 }

-- The compliance statements have yet to be written.  The intent is
-- that	all objects are	required except	where otherwise	mentioned above
-- and that a self-managing system need	not support groups, remote checking,
-- or wildcarding.

END

5.

9

6.  Acknowledgements

This MIB contains considerable contributions from the RMON MIB,	the
Distributed Management Design Team (Andy Bierman, Maria	Greene,	Bob
Stewart, and Steve Waldbusser),	and colleagues at Cisco.

6.

9

7.  References

[1]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
     S.	Waldbusser, "Structure of Management Information for version 2
     of	the Simple Network Management Protocol (SNMPv2)", RFC 1902,
     January 1996.

[2]  McCloghrie, K., and M. Rose, Editors, "Management Information Base
     for Network Management of TCP/IP-based internets: MIB-II",	STD 17,
     RFC 1213, March 1991.

[3]  Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
     Management	Protocol", RFC 1157, May 1990.

[4]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
     S.	Waldbusser, "Protocol Operations for version 2 of the Simple
     Network Management	Protocol (SNMPv2)", RFC	1905, January 1996.

7.

9

8.  Security Considerations

Security issues	are not	discussed in this memo.

8.

9.  Author's Address

     Bob Stewart
     Cisco Systems, Inc.
     170 West Tasman Drive
     San Jose, CA 95134-1706

     Phone: 408-526-4527
     Email: bstewart@cisco.com

9

Table of Contents

1 Abstract ........................................................    2
2 The SNMP Network Management Framework	...........................    3
2.1 Object Definitions ............................................    3
3 Overview ........................................................    4
4 Known	Problems ..................................................    4
5 Definitions .....................................................    5
5
6 Acknowledgements ................................................   21
6 References ......................................................   22
7 References ......................................................   23
8 Security Considerations .........................................   23
8   24
9 Author's Address ................................................   23   24

9