Event MIB
                  draft-ietf-disman-event-mib-02.txt

			    21 November	1997

                             13 March 1998

                   draft-ietf-disman-event-mib-03.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 following boilerplate is out of date.  It will be replaced when
SNMPv3 boilerplate is available.}

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, SNMPv3 Management Target and Notification
MIBs and is nicely complemented by the Distributed Management Expression
MIBs.
MIB.

All of this these components 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 DisplayString            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP     FROM SNMPv2-CONF
    FailureReason				FROM NOTIFICATION-MIB
    SnmpTagValue                                FROM SNMP-TARGET-MIB
    SnmpAdminString                     FROM SNMP-FRAMEWORK-MIB;

eventMIB MODULE-IDENTITY
    LAST-UPDATED "9703241700Z" "9803131700Z"
    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

FailureReason ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
	"An integer shorthand identification
        "Reasons for failures in an entry.
	An EntryIndex corresponds one-to-one attempt 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." send a
        management message."
    SYNTAX	Unsigned32 (0..4294967295)      INTEGER { localResourceLack(1), badDestination(2),
                          tooBig(3), badAccessControl(4),
                          noAck(5) }

--
-- 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 1 }

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

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 3 }

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

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

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 6 }

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 7 }

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

--
-- Trigger Creation Table
--

mteTriggerCreationTable

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

mteTriggerCreationEntry

mteTriggerEntry OBJECT-TYPE
    SYNTAX	MteTriggerCreationEntry      MteTriggerEntry
    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." trigger, created using mteTriggerStatus."
    INDEX       { IMPLIED mteTriggerCreationName mteTriggerName }
    ::= { mteTriggerCreationTable mteTriggerteble 1 }

MteTriggerCreationEntry

MteTriggerEntry ::= SEQUENCE {
    mteTriggerCreationName		EntryName,
    mteTriggerIndex			EntryIndex,
    mteTriggerCreationStatus
    mteTriggerName                      SnmpAdminString,
    mteTriggerComment                   DisplayString,
    mteTriggerTest                      INTEGER,
    mteTriggerValueID                   Integer32,
    mteTriggerValueIDWildcard           TruthValue,
    mteTriggerFrequency                 Integer32,
    mteTriggerTargetTag                 SnmpTagValue,
    mteTriggerRisingThreshold           Integer32,
    mteTriggerFallingThreshold  Integer32,
    mteTriggerEvent                     SnmpAdminString,
    mteTriggerRisingEvent               SnmpAdminString,
    mteTriggerFallingEvent              SnmpAdminString,
    mteTriggerStatus                    RowStatus
}

mteTriggerCreationName

mteTriggerName OBJECT-TYPE
    SYNTAX	EntryName      SnmpAdminString (SIZE (1..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A locally-unique, administratively assigned name for the trigger."
    ::= { mteTriggerCreationEntry mteTriggerEntry 1 }

mteTriggerIndex

mteTriggerComment OBJECT-TYPE
    SYNTAX	EntryIndex      DisplayString
    MAX-ACCESS	read-only  read-create
    STATUS      current
    DESCRIPTION
	"The numeric identification
        "A description of the trigger." trigger's function and use."
    DEFVAL { ''H }
    ::= { 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,
    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 mteTriggerEntry 2 }

mteTriggerTest OBJECT-TYPE
    SYNTAX      INTEGER { boolean(1), threshold(2) }
    MAX-ACCESS	read-write  read-create
    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.  The trigger will not fire
        again until the value has become false and come back to
        true.

        For 'threshold' it works like RMON as described below for
        mteTriggerThresholdStartup, mteTriggerRisingThreshold, and the text	needs to
	be copied into this MIB."
        mteTriggerFallingThreshold."
    DEFVAL { boolean }
    ::= { mteTriggerEntry 3 }

mteTriggerValueID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS	read-write  read-create
    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.  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  read-create
    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 (0..65535)
    UNITS       "seconds"
    MAX-ACCESS	read-write  read-create
    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 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 6 }

mteTriggerTargetTag OBJECT-TYPE
    SYNTAX      SnmpTagValue
    MAX-ACCESS	read-write  read-create
    STATUS      current
    DESCRIPTION
        "The tag for the target(s) from which to obtain the condition
        for a trigger check.

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

mteTriggerRisingThreshold

mteTriggerBooleanStartup OBJECT-TYPE
    SYNTAX	Integer32      TruthValue
    MAX-ACCESS	read-write  read-create
    STATUS      current
    DESCRIPTION
	"A threshold value to check against if mteTriggerType is
	'threshold'.  In
        "Control for whether an event may be triggered when this case if the value	of the object at
	mteTriggerValueID entry
        is greater than or equal first set to this threshold
	and 'active'.  If the value at mteTriggerBooleanStartup
        is 'true' and the last sampling interval was	less than first sample after this threshold, entry becomes active is
        true then one mteTriggerRisingEvent mteTriggerEvent is triggered.

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

mteTriggerThresholdStartup OBJECT-TYPE
    SYNTAX      INTEGER { rising(1), falling(2), risingOrFalling(3) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The event that may be triggered when this entry is first
        set to 'active'.  If the first sample after this entry
        becomes active is greater than or equal to
        mteTriggerRisingThreshold and mteTriggerThresholdStartup is
        equal to 'rising' or 'risingOrFalling', then one
        mteTriggerRisingEvent is triggered.  If the first
        sample after this entry becomes active is less than
        or equal to mteTriggerFallingThreshold and
        mteTriggerThresholdStartup is equal to 'falling' or
        'risingOrFalling', then one mteTriggerRisingEvent is triggered.

        If mteTriggerType is not 'threshold', this object is not
        instantiated."
    DEFVAL { risingOrFalling }
    ::= { mteTriggerEntry 6 }

mteTriggerRisingThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS	read-write  read-create
    STATUS      current
    DESCRIPTION
        "A threshold value to check against if mteTriggerType is
        'threshold'.  In

        When the current sampled value is greater than or equal to
        this case if threshold, and the value	of at the last sampling
        interval was less than this threshold, one mteTriggerRisingEvent
        is triggered.  That event is also triggered if the first sample
        afer this entry bcomes active is greater than or equal to this
        threshold and mteTriggerThresholdStartup is equal to 'rising'
        or 'risingOrFalling'.

        After a rising event is generated, another such event is not
        triggered until the sampled value falls below this threshold and
        reaches mteTriggerFallingThreshold.

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

mteTriggerFallingThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A threshold value to check against if mteTriggerType is
        'threshold'.

        When the current sampled value is less than or equal to
        this	threshold threshold, and the value at the last sampling interval
        was greater than this threshold, one mteTriggerFallingEvent
        is triggered.  That event is also triggered if the first sample
        afer this entry bcomes active is less than or equal to this
        threshold and mteTriggerThresholdStartup is equal to 'falling'
        or 'risingOrFalling'.

        After a falling event is generated, another such event is not
        triggered until the sampled value rises above this threshold and
        reaches mteTriggerRisingThreshold.

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

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

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

mteTriggerRisingEvent OBJECT-TYPE
    SYNTAX	EntryIndexOrZero      SnmpAdminString (SIZE (0..64))
    MAX-ACCESS	read-write  read-create
    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 ''H }
    ::= { mteTriggerEntry 11 }

mteTriggerFallingEvent OBJECT-TYPE
    SYNTAX	EntryIndexOrZero      SnmpAdminString (SIZE (0..64))
    MAX-ACCESS	read-write  read-create
    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 ''H }
    ::= { mteTriggerEntry 12 }

--
-- Event Section
--

mteEventLastChange

mteTriggerStatus OBJECT-TYPE
    SYNTAX	TimeStamp      RowStatus
    MAX-ACCESS	read-only  read-create
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime	at the most recent addition or control that allows creation and deletion of entries.
        Once made active an event or	an event name change.

	A management application can monitor this object entry may not be modified except to
	know that the event list has changed in	a way
	requiring reloading of the event names."
        delete it."
    ::= { mteEvent 1 mteTriggerEntry 13 }

--
-- Event Section
--

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 1 }

mteEventLastFailedEvent OBJECT-TYPE
    SYNTAX	eventIndex      SnmpAdminString
    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 }

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

mteEventLastFailedTargetName OBJECT-TYPE
    SYNTAX	SnmpAdminString
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The target name of the	last failed attempt to invoke an
	event.	The 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 failed an attempted invocation."
    ::= SEQUENCE {
    mteEventCreationName		EntryName,
    mteEventIndex				EntryIndex,
    mteEventCreationStatus		RowStatus mteEvent 2 }

mteEventCreationName

mteEventLastFailedReason OBJECT-TYPE
    SYNTAX	EntryName      FailureReason
    MAX-ACCESS	not-accessible  read-only
    STATUS      current
    DESCRIPTION
	"A locally-unique, administratively assigned name
        "The reason for the	event." last failure of an attempted event
        invocation."
    ::= { mteEventCreationEntry	1 mteEvent 3 }

mteEventIndex

mteEventLastFailedTargetTag OBJECT-TYPE
    SYNTAX	EntryIndex      SnmpTagValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The numeric identification target tag of the event." last failed attempt to invoke an
        event.  The length 0 means this does not apply."
    ::= { mteEventCreationEntry	2 mteEvent 4 }

mteEventCreationStatus

mteEventLastFailedTargetName OBJECT-TYPE
    SYNTAX	RowStatus      SnmpAdminString
    MAX-ACCESS	read-create  read-only
    STATUS      current
    DESCRIPTION
        "The control that allows creation/deletion target name of entries.
	Once made active the last failed attempt to invoke an entry may
        event.  The length 0 means this does not be modified except to
	delete it or change its	name via mteEventName." apply"
    ::= { mteEventCreationEntry	3 mteEvent 5 }

--
-- 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 6 }

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

	An event.

        To create an entry create the named entry appears in this
        table when an mteEventCreationEntry
	is activated. Deleting the matching mteEventCreationEntry
	deletes	this entry." use mteEventStatus."
    INDEX       { mteEventIndex IMPLIED mteEventName }
    ::= { mteEventTable 1 }

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

mteEventName OBJECT-TYPE
    SYNTAX	EntryName      SnmpAdminString (SIZE (1..64))
    MAX-ACCESS	read-write  not-accessible
    STATUS      current
    DESCRIPTION
	"The unique
        "A locally-unique, administratively assigned name of the	event, identical to
	mteEventCreationName.

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

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

mteEventActions OBJECT-TYPE
    SYNTAX      BITS { notification, set }
    MAX-ACCESS	read-write  read-create
    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 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  read-create
    STATUS      current
    DESCRIPTION
        "The object identifier from the NOTIFICATION-TYPE for the
        notification to use if metEventActions has 'notification' set.

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

mteEventSetObject OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS	read-write  read-create
    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 }

mteEventSetObjectWildcard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Control over whether mteEventSetObject is to be treated as
        fully-specified or wildcarded, with 'true' indicating wildcard.

        If mteEventSetObject is wildcarded the instance used to set it
        is the same as the instance for the value of mteTriggerValueID
        that triggered the event."
    DEFVAL { false }
    ::= { mteEventEntry 6 }

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

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

mteEventStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The control that allows creation and deletion of entries.
        Once made active an entry may not be modified except to
        delete it."
    ::= { mteEventEntry 9 }

--
-- Notifications
--

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

mteTriggerSenseAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName, 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, 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, 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,
              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, mteTriggerTargetName,
              mteTriggerLastValueID,
              mteTriggerLastValue,
              mteEventLastFailedReason,
              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

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.

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.

9

8.  Security Considerations

Security issues are not discussed in this memo.

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
6 Acknowledgements ................................................   22   20
7 References ......................................................   23   21
8 Security Considerations .........................................   24   22
9 Author's Address ................................................   24

9   22