-- *****************************************************************
-- CISCO-IETF-ATM2-PVCTRAP-MIB.my: Supplemental ATM Management Objects
--
-- February 1998, Sujatha Narayanan
--
-- Copyright (c) 1998 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
-- This mib was extracted from draft-ietf-atommib-atm2-11.txt,
-- section 9 titled ATM Related Trap Support. This MIB implements
-- only the VCL part of this section.
--
-- In the import section, only the required objects have been selected.
--
-- The objects selected in this MIB are:
-- atmInterfaceExtTable
-- atmInterfaceExtEntry
-- AtmInterfaceExtEntry
-- atmIntfPvcFailures
-- atmIntfCurrentlyFailingPVcls
-- atmIntfPvcFailuresTrapEnable
-- atmIntfPvcNotificationInterval
-- atmPreviouslyFailedPVclInterval
-- atmCurrentlyFailingPVclTable
-- atmCurrentlyFailingPVclEntry
-- AtmCurrentlyFailingPVclEntry
-- atmCurrentlyFailingPVclTimeStamp
-- atmPreviouslyFailedPVclTimeStamp
-- atmIntfPvcFailuresTrap


CISCO-IETF-ATM2-PVCTRAP-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Gauge32,
        Counter32
                FROM SNMPv2-SMI
        TruthValue,
        TimeStamp
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        atmInterfaceConfEntry,
        atmVclVpi,
        atmVclVci
                FROM ATM-MIB
	ciscoExperiment
                FROM CISCO-SMI;

ciscoIetfAtm2PvctrapMIB MODULE-IDENTITY
        LAST-UPDATED    "9802030000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service
 
                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA
 
                   Tel: +1 800 553-NETS
 
                E-mail: cs-atm@cisco.com"

        DESCRIPTION
                "This MIB Module is a supplement to the
                 ATM-MIB."
        ::= { ciscoExperiment 29 }
 
atm2MIBObjects	OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 1 }
atm2MIBTraps	OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 2 }

atmInterfaceExtTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF AtmInterfaceExtEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
         "This table contains ATM interface monitoring
          information not defined in the
          atmInterfaceConfTable from the ATM-MIB."
	::= { atm2MIBObjects 14 }

atmInterfaceExtEntry	OBJECT-TYPE
	SYNTAX		AtmInterfaceExtEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
	 "An entry extends the atmInterfaceConfEntry
          defined in ATM MIB.  Each entry corresponds
          to an ATM interface."
	AUGMENTS 	{ atmInterfaceConfEntry }
	::= { atmInterfaceExtTable 1 }

AtmInterfaceExtEntry	::= SEQUENCE  {
	atmIntfPvcFailures		Counter32,
	atmIntfCurrentlyFailingPVcls	Gauge32,
	atmIntfPvcFailuresTrapEnable	TruthValue,
	atmIntfPvcNotificationInterval	INTEGER,
        atmPreviouslyFailedPVclInterval INTEGER
	}

atmIntfPvcFailures	OBJECT-TYPE
        SYNTAX		Counter32
        MAX-ACCESS	read-only
        STATUS       	current
        DESCRIPTION
         "The number of times the operational status of a PVCL
          on this interface has gone down."
        ::= { atmInterfaceExtEntry 20 }
 
atmIntfCurrentlyFailingPVcls	OBJECT-TYPE
        SYNTAX       	Gauge32
        MAX-ACCESS   	read-only
        STATUS       	current
        DESCRIPTION
         "The current number of VCLs on this interface for which
          there is an active row in the atmVclTable having an
          atmVclConnKind value of `pvc' and an atmVclOperStatus
          with a value other than `up'."
        ::= { atmInterfaceExtEntry 22 }
 
atmIntfPvcFailuresTrapEnable    OBJECT-TYPE
        SYNTAX       	TruthValue
        MAX-ACCESS   	read-write
        STATUS       	current
        DESCRIPTION
         "Allows the generation of traps in response to PVCL
          failures on this interface."
        DEFVAL 		{ false }
        ::= { atmInterfaceExtEntry 23 }
 
atmIntfPvcNotificationInterval   OBJECT-TYPE
        SYNTAX       	INTEGER (1..3600)
        UNITS        	"seconds"
        MAX-ACCESS   	read-write
        STATUS       	current
        DESCRIPTION
         "The minimum interval between the sending of
          cIntfPvcFailuresTrap notifications for this
          interface."
        DEFVAL 		{ 30 }
        ::= { atmInterfaceExtEntry 24 }

atmPreviouslyFailedPVclInterval    OBJECT-TYPE
        SYNTAX          INTEGER (0..3600)
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "The interval for storing the failed
          time in atmPreviouslyFailedPVclTimeStamp"
        DEFVAL          { 0 }
        ::= { atmInterfaceExtEntry 25 }
 
atmCurrentlyFailingPVclTable	OBJECT-TYPE
        SYNTAX       	SEQUENCE OF AtmCurrentlyFailingPVclEntry
        MAX-ACCESS   	not-accessible
        STATUS       	current
        DESCRIPTION
         "A table indicating all VCLs for which there is an
          active row in the atmVclTable having an atmVclConnKind
          value of `pvc' and an atmVclOperStatus with a value
          other than `up'."
        ::= { atm2MIBObjects 21 }
 
atmCurrentlyFailingPVclEntry   	OBJECT-TYPE
        SYNTAX       	AtmCurrentlyFailingPVclEntry
        MAX-ACCESS   	not-accessible
        STATUS       	current
        DESCRIPTION
         "Each entry in this table represents a VCL for which
          the atmVclRowStatus is `active', the atmVclConnKind is
          `pvc', and the atmVclOperStatus is other than `up'."
        INDEX        	{ ifIndex, atmVclVpi, atmVclVci }
        ::= { atmCurrentlyFailingPVclTable 1 }
 
AtmCurrentlyFailingPVclEntry ::=	SEQUENCE 	{
	atmCurrentlyFailingPVclTimeStamp 	TimeStamp,
	atmPreviouslyFailedPVclTimeStamp        TimeStamp
        }
 
atmCurrentlyFailingPVclTimeStamp	OBJECT-TYPE
        SYNTAX       	TimeStamp
        MAX-ACCESS   	read-only
        STATUS       	current
        DESCRIPTION
         "The time at which this PVCL began to fail."
        ::= { atmCurrentlyFailingPVclEntry 1 }

atmPreviouslyFailedPVclTimeStamp        OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The time at which this PVCL began to fail
          during the PVC Notification interval."
        ::= { atmCurrentlyFailingPVclEntry 2 }
 
 
atmPvcTraps		OBJECT IDENTIFIER ::= { atm2MIBTraps 1 }
atmPvcTrapsPrefix	OBJECT IDENTIFIER ::= { atmPvcTraps 0 }
 
atmIntfPvcFailuresTrap    NOTIFICATION-TYPE
        OBJECTS     	{ ifIndex, 
			  atmIntfPvcFailures,
                          atmIntfCurrentlyFailingPVcls }
        STATUS       	current
        DESCRIPTION
         "A notification indicating that one or more
          PVCLs on this interface has failed since the last
          cIntfPvcFailuresTrap was sent.  If this trap has not been
          sent for the last cIntfPvcNotificationInterval, then
          it will be sent on the next increment of
          cIntfPvcFailures."
        ::= { atmPvcTrapsPrefix 1 }

-- Conformance Information

-- The DRAFT has an error in that atm2MIBConformance is defined as
-- having an OID { atm2MIB 2 } while this has already been allocated
-- to atm2MIBTraps. The following corrects that error.

atm2MIBConformance	OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 3 }
atm2MIBGroups		OBJECT IDENTIFIER ::= { atm2MIBConformance 1 }
atm2MIBCompliances	OBJECT IDENTIFIER ::= { atm2MIBConformance 2 }

-- Compliance Statements

atm2MIBCompliance	MODULE-COMPLIANCE
	STATUS		current
	DESCRIPTION
         "The compliance statement for SNMP entities which
          implement PVC traps."
	MODULE		-- this module
	MANDATORY-GROUPS	{ atmSwitchServcHostGroup }

--	GROUP        	atmSwitchServcNotifGroup
--	DESCRIPTION
--	 "This group is optional for systems implementing
--	  support for an ATM Switch or an ATM Network Service."
 

	::= { atm2MIBCompliances 1 }

-- Units of Conformance

atmSwitchServcHostGroup	OBJECT-GROUP
	OBJECTS		{
			 atmIntfPvcFailures,
			 atmIntfCurrentlyFailingPVcls,
			 atmIntfPvcFailuresTrapEnable,
			 atmIntfPvcNotificationInterval,
			 atmPreviouslyFailedPVclInterval,
			 atmCurrentlyFailingPVclTimeStamp,
			 atmPreviouslyFailedPVclTimeStamp}
	STATUS 		current
	DESCRIPTION
	 "A collection of objects providing information
	  for a Switch/Service/Host that implements
	  PVC traps for an ATM interfaces."
	::= { atm2MIBGroups 1 }

-- Existing MIB tools do not support NOTIFICATIONS-GROUP syntax
-- so we comment it out when committing to source repository.
-- It is OK to uncomment this when publishing this MIB.
-- atmSwitchServcNotifGroup	OBJECT-GROUP
--	NOTIFICATIONS	{ atmIntfPvcFailuresTrap }
--	STATUS          current
--	DESCRIPTION
--	 "A collection of notifications providing information
--	  for a Switch/Service that implements ATM interfaces."
--	::= { atm2MIBGroups 2 }

END
