-- ***************************************************************** -- RTM MIB: Robust Trap Mechanism MIB -- -- MIB For recovering the traps that are lost in the network. -- -- July 2002 -- -- Copyright (c) 1996, 2001-2002 by cisco Systems, Inc. -- All rights reserved. -- ***************************************************************** -- -- LAST-UPDATED "200207090000Z" -- DESCRIPTION "This is the Robust Trap MIB(RTM) module. -- RTM requires that each of the traps/notifications -- have mandatory varbinds in the begining. -- The mandatory varbinds are different in -- different MGX products. However all the -- RTM Compliant Traps(notifications) have to have -- 'lastSequenceNumber' object -- as the first varbind. The 'lastSequenceNumber' value -- can be used by the SNMP managers to find the -- lost/missing traps(notifications) from the system. -- -- The word 'system'(running agent)applies to MGX series -- products from Cisco Systems." -- The word 'manager' applies to any SNMP -- Manager application. -- -- REVISION "200207090000Z" -- DESCRIPTION -- "- Added recoverTrapTable. This table can be used -- for recovering traps from the system." -- -- It is recommended that 'recoverTable' is used -- instead of 'trapUploadTable' for recovering -- lost traps. -- -- REVISION "200108220000Z" -- DESCRIPTION -- "- Clarified the descriptions of the mib objects. -- - SYNTAX range for managerNumOfValidEntries object -- have been changed from (0..8) to (0..12). -- -- CONTACT-INFO -- " Cisco Systems -- Customer Service -- -- Postal: 170 W Tasman Drive -- San Jose, CA 95134 -- USA -- -- Tel: +1 800 553-NETS -- -- E-mail: cs-wanatm@cisco.com" -- " -- RTM-MIB DEFINITIONS ::= BEGIN IMPORTS IpAddress FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212 DisplayString FROM RFC1213-MIB stratacom FROM CISCOWAN-SMI; rtm OBJECT IDENTIFIER ::= { stratacom 120 } trapsConfig OBJECT IDENTIFIER ::= { rtm 1} -- -- Trap Configuration Table. -- trapConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF TrapConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The trap configuration table. This table is used for registering SNMP managers with the system. The system will send traps only to the registered SNMP mangers." ::= { trapsConfig 1 } trapConfigEntry OBJECT-TYPE SYNTAX TrapConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry for each of the SNMP Manager registered. Each SNMP Manager is identified by its IP Address specified in managerIPAddress object." INDEX { managerIPaddress } ::= { trapConfigTable 1 } TrapConfigEntry ::= SEQUENCE { managerIPaddress IpAddress, managerPortNumber INTEGER, managerRowStatus INTEGER, readingTrapsFlag INTEGER, nextTrapSeqNum INTEGER } managerIPaddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "A unique index value representing the SNMP manager." ::= { trapConfigEntry 1 } managerPortNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The UDP Port number on which the manager receives traps from a system." ::= { trapConfigEntry 2} managerRowStatus OBJECT-TYPE SYNTAX INTEGER { addRow (1), delRow (2) } ACCESS read-write STATUS mandatory DESCRIPTION "This object is used for adding(registering) and deleting(de-registering) SNMP managers in the system. By setting this object to 'addRow' snmp manager will be registered with the system. By setting this object to 'delRow' snmp manager will be registered with the system. In some systems, the SNMP Manager will be de-registered automatically by the agent (to allow other SNMP managers to register), if manager is idle for long time( This time is called aging interval time). In order to avoid Managers being de-registered automatically it is expected that the SNMP Managers keep sending keep-alive requests(SNMP GET on this object) to the system for predefined interval(Choosen by SNMP Manager). The keep-alive requests need to be sent few minutes before the aging interval expires. The aging value of the Registered Managers are in the order of minutes(system dependent or user configured). The value supported for the aging value is system dependent. The system might support aging value per manager basis or per node basis (applicable to all the registered managers). " ::= { trapConfigEntry 3} readingTrapsFlag OBJECT-TYPE SYNTAX INTEGER { false(1), true(2) } ACCESS read-write STATUS mandatory DESCRIPTION "An entry for the state of the manager. The value 'false' indicates that SNMP manager is not in the middle of uploading traps(via trapUploadTable). The value 'true' indicates that SNMP manager is in the middle of uploading traps(via trapUploadTable). When the value is 'true' the system will not send traps to the corresponding manager identified by managerIPAddress object." ::= { trapConfigEntry 4} nextTrapSeqNum OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "Set by the manager to indicate the first trap(identified by this sequence number) it is interested in uploading. The agent increments this value when readingTrapsFlag is set to true(1) and SNMP Get is performed on trapUploadTable. The trapUploadTable entries returned depends upon this value. If there are no traps in the system with the the sequence number, the agent will set the value for this object to the head of FIFO(Saved traps) and return an error response." ::= { trapConfigEntry 5} managerNumOfValidEntries OBJECT-TYPE SYNTAX INTEGER (0..12) ACCESS read-only STATUS mandatory DESCRIPTION "The number of entries in trapConfigTable." ::= { trapsConfig 2 } lastSequenceNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The sequence number of the last trap generated by the system. This object is used in each of the RTM Compliant trap definitions. The manager can figure out whether any trap is lost(missing) by comparing the lastSequenceNumber values received in last 2 traps." ::= { trapsConfig 3} -- -- Trap Upload Table -- trapUploadTable OBJECT-TYPE SYNTAX SEQUENCE OF TrapUploadEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The trapUploadTable is used by the manager to retrieve missing(lost) traps using robust trap mechanism. The manager does a Get request on this table." ::= { trapsConfig 4} trapUploadEntry OBJECT-TYPE SYNTAX TrapUploadEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Manager does a Get request on the elements of this entry to upload missing traps." INDEX { trapManagerIPaddress } ::= { trapUploadTable 1 } TrapUploadEntry ::= SEQUENCE { trapManagerIPaddress IpAddress, trapSequenceNum INTEGER, trapPduString DisplayString, endOfQueueFlag INTEGER } trapManagerIPaddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "IP address of the manager used as an index to the table. The value of this object must match with the value in the managerIPaddress object." ::= { trapUploadEntry 1 } trapSequenceNum OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The sequence number associated with the trap. This sequence number has to match with the value in lastSequenceNumber object embedded in trapPduString." ::= { trapUploadEntry 2} trapPduString OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "Trap description string. This contains the Trap PDU that is stored in the system." ::= { trapUploadEntry 3} endOfQueueFlag OBJECT-TYPE SYNTAX INTEGER { false (1), true (2) } ACCESS read-only STATUS mandatory DESCRIPTION "Flag indicating the last trap saved in the system's FIFO queue." ::= { trapUploadEntry 4} -- -- Trap Recover Table -- recoverTrapTable OBJECT-TYPE SYNTAX SEQUENCE OF RecoverTrapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing information about the traps sent from the system/switch. The total number of traps stored in the switch is implementation specific. It is expected that systems supporting RTM Mechanism save atleast least 500 traps , so that NMS applications can recover the traps if they determined it to be lost." ::= { trapsConfig 5} recoverTrapEntry OBJECT-TYPE SYNTAX RecoverTrapEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The entry for each of the traps stored in the switch." INDEX { recoverTrapSequenceNum } ::= { recoverTrapTable 1 } RecoverTrapEntry ::= SEQUENCE { recoverTrapSequenceNum INTEGER, recoverTrapPduString OCTET STRING } recoverTrapSequenceNum OBJECT-TYPE SYNTAX INTEGER(0..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "The sequence number associated with the trap. The system tries to find a matching entry in the list of traps stored. If there is a match, an valid entry returned with value for 'recoverTrapPduString' object." ::= { recoverTrapEntry 1} recoverTrapPduString OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..512)) ACCESS read-only STATUS mandatory DESCRIPTION "Trap description string. This contains the Trap PDU that is stored in the system." ::= { recoverTrapEntry 2 } END