-- ********************************************************************* -- CISCO-FCPING-MIB.my: Fibre Channel Ping Mib -- -- September 2002, H K Vivek -- -- Copyright (c) 2002 by cisco Systems, Inc. -- All rights reserved. -- -- ********************************************************************* CISCO-FCPING-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY,OBJECT-TYPE, NOTIFICATION-TYPE, Gauge32,Unsigned32, Integer32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF RowStatus, TruthValue, TEXTUAL-CONVENTION FROM SNMPv2-TC ciscoMgmt FROM CISCO-SMI VsanIndex, FcAddress, FcAddressType FROM CISCO-ST-TC; ciscoFcPingMIB MODULE-IDENTITY LAST-UPDATED "200210070000Z" 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-san@cisco.com" DESCRIPTION "The MIB module for the management of the Fibre Channel Ping functionality." REVISION "200210070000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 295 } ciscoFcPingMIBObjects OBJECT IDENTIFIER ::= { ciscoFcPingMIB 1 } fcPingMIBConformance OBJECT IDENTIFIER ::= { ciscoFcPingMIB 2 } fcPingConfiguration OBJECT IDENTIFIER ::= { ciscoFcPingMIBObjects 1 } fcPingStats OBJECT IDENTIFIER ::= { ciscoFcPingMIBObjects 2 } fcPingNotification OBJECT IDENTIFIER ::= { ciscoFcPingMIBObjects 3 } fcPingNotifications OBJECT IDENTIFIER ::= { fcPingNotification 0 } -- Textual conventions FcStartOper ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Enable/disable an operation. enable(1) - enable the operation. disable(2) - disable the operation." SYNTAX INTEGER { enable(1), disable(2) } -- Ping Requests Table fcPingTable OBJECT-TYPE SYNTAX SEQUENCE OF FcPingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of ping request entries. This table contains a set of ping requests which need to be executed at the agent." ::= { fcPingConfiguration 1 } fcPingEntry OBJECT-TYPE SYNTAX FcPingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A ping request entry. A management station wishing to create an entry should generate a pseudo-random number to be used as an index into this table and create an instance of the fcPingRowStatus object. After that, the management station should set the corresponding instance of fcPingAddress object with the address of the destination that should be pinged and fcPingVsanIndex with the desired VSAN number. Once the appropriate instance of all the configuration objects have been created, either by an explicit SNMP set request or by default, the row status should be set to active to initiate the ping sequence. Note that this entire procedure may be initiated via a single set request which specifies a row status of createAndGo as well as specifies valid values for the non-defaulted configuration objects. Once the ping sequence has been initiated it can be stopped by setting the corresponding instance of fcPingRowStatus to 'destroy'. The results of the ping operation are made available in the fcPingStats table. For a ping entry uniquely identified by fcPingIndex, an entry will be created in the fcPingStats table automatically by the agent. Once the ping sequence completes, the management station should retrieve the statistics of interest from the fcPingStats table and delete the entry from the fcPingTable. The corresponding entry in the fcPingStats table shall be deleted automatically by the agent. In order to prevent old entries from clogging the table, entries will be aged out, but an entry will never be deleted within fcPingAgeInterval milliseconds of completing. If the management station wishes to repeat the ping sequence to a particular destination, then it will need to set the corresponding instance of fcPingAdminStatus to 'enable' again." INDEX { fcPingIndex } ::= { fcPingTable 1 } FcPingEntry ::= SEQUENCE { fcPingIndex Integer32, fcPingVsanIndex VsanIndex, fcPingAddressType FcAddressType, fcPingAddress FcAddress, fcPingPacketCount Unsigned32, fcPingPayloadSize Unsigned32, fcPingPacketTimeout Unsigned32, fcPingDelay Unsigned32, fcPingAgeInterval Unsigned32, fcPingUsrPriority INTEGER, fcPingAdminStatus FcStartOper, fcPingOperStatus INTEGER, fcPingTrapOnCompletion TruthValue, fcPingRowStatus RowStatus } fcPingIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of a ping entry. This object uniquely identifies a ping request entry on a VSAN." ::= { fcPingEntry 1 } fcPingVsanIndex OBJECT-TYPE SYNTAX VsanIndex MAX-ACCESS read-create STATUS current DESCRIPTION "This object identifies the VSAN to which this ping request belongs. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 1 } ::= { fcPingEntry 2 } fcPingAddressType OBJECT-TYPE SYNTAX FcAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The format of the corresponding instance of fcPingAddress object." DEFVAL { wwn } ::= { fcPingEntry 3 } fcPingAddress OBJECT-TYPE SYNTAX FcAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The address of the device to be pinged. If the value of the corresponding instance of fcPingAddressType object is 'wwn', then this object will contain an 8 octet long WWN. If the value of the corresponding instance of fcPingAddressType object is 'fcid', then this object will contain a 3 octet long FCID. This object MUST be set to a valid value before or concurrently with setting the corresponding instance of fcPingRowStatus to 'active'." ::= { fcPingEntry 4 } fcPingPacketCount OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of ping packets to be sent to the target in this sequence. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 5 } ::= { fcPingEntry 5 } fcPingPayloadSize OBJECT-TYPE SYNTAX Unsigned32 (0..1884) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the size of the ping packet payload to be sent to the target in this sequence. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 0 } ::= { fcPingEntry 6 } fcPingPacketTimeout OBJECT-TYPE SYNTAX Unsigned32 (1..10) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The amount of time to wait for a response to a transmitted packet before declaring the packet 'dropped'. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 2 } ::= { fcPingEntry 7 } fcPingDelay OBJECT-TYPE SYNTAX Unsigned32 (0..3600000) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum amount of time to wait before sending the next packet in a sequence, after receiving a response or declaring a timeout for a previously transmitted packet. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 0 } ::= { fcPingEntry 8 } fcPingAgeInterval OBJECT-TYPE SYNTAX Unsigned32 (500000..900000) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The amount of time to wait after the ping sequence completes before the ping entry is aged out. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { 500000 } ::= { fcPingEntry 9 } fcPingUsrPriority OBJECT-TYPE SYNTAX INTEGER { high(1), -- user priority is high low(2) -- user priority is low } MAX-ACCESS read-create STATUS current DESCRIPTION "This object determines the queuing priority and drop probability this sequence of ping packets experience in the switches through which they pass through. If the value of this object is set to 'high', then the corresponding sequence of packets will experience high queueing priority and low drop probability in the switches through which they pass through. If the value of this object is set to 'low', then the corresponding sequence of packets will experience low queueing priority and higher drop probability in the switches through which they pass through. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { low } ::= { fcPingEntry 10 } fcPingAdminStatus OBJECT-TYPE SYNTAX FcStartOper MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the desired state that a fcPingEntry should be in: enable(1) - Attempt to activate the ping as defined by this entry. disable(2) - Deactivate the ping as defined by this entry. The actual operational state of this test is indicated by the corresponding instance of fcPingOperStatus. When the ping sequence corresponding to this entry is executing, this object cannot be modified. If this object is read at such a time, a value of 'enable' will be returned. When the ping sequence completes, the value of this object will be made 'disable' automatically by the agent." DEFVAL { disable } ::= { fcPingEntry 11 } fcPingOperStatus OBJECT-TYPE SYNTAX INTEGER { inProgress(1), -- ping is in progress complete(2), -- ping is complete disabled(3), -- ping is disabled failure(4) -- ping failure } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the operational status of this fcPingEntry. inProgress(1) - Indicates that the ping sequence as defined by this instance of fcPingEntry is currently running. complete(2) - Indicates that the ping sequence as defined by this instance of fcPingEntry is currently complete. disabled(3) - Indicates that the ping sequence as defined by this instance of fcPingEntry is currently disabled. failure(4) - Indicates that the ping sequence as defined by this instance of fcPingEntry has currently failed due to resource limitations. Initially the value of this object will be 'inProgress' when the ping sequence is being executed. Once the ping sequence is completed, the value of this object will transition to 'complete'. If the value of the corresponding instance of fcPingAdminStatus is 'disable', then this object will have a value of 'disabled'." ::= { fcPingEntry 12 } fcPingTrapOnCompletion OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This specifies if fcPingCompletionNotify notification should be generated or not when the corresponding ping sequence completes. If this object is set to 'true', then the notification is generated. If this object is set to 'false', then the notification is not generated. This object cannot be modified if the corresponding instance of fcPingOperStatus object has a value of 'inProgress'." DEFVAL { false } ::= { fcPingEntry 13 } fcPingRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. When a ping sequence is being executed, if this object is set to 'destroy', then the corresponding ping sequence will be stopped." ::= { fcPingEntry 14 } -- Ping Statistics fcPingStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF FcPingStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of ping statistics. The statistics corresponding to the entries in the fcPingTable. When an entry is deleted in the fcPingTable, the corresponding entry in this table is deleted automatically by the agent." ::= { fcPingStats 1 } fcPingStatsEntry OBJECT-TYPE SYNTAX FcPingStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A ping statistics entry. An entry shall be created automatically in this table whenever a ping request is activated in the fcPingTable by setting the fcPingRowStatus to 'active'. This entry shall have the same indices as the entry that got activated in the fcPingTable. An entry in this table shall be deleted by the agent automatically either when the corresponding entry in the fcPingTable is deleted by the management station or is aged out by the agent. This table shall be empty if there is no 'active' entry in the fcPingTable." INDEX { fcPingIndex } ::= { fcPingStatsTable 1 } FcPingStatsEntry ::= SEQUENCE { fcPingTxPackets Gauge32, fcPingRxPackets Gauge32, fcPingMinRtt Integer32, fcPingAvgRtt Integer32, fcPingMaxRtt Integer32, fcPingNumTimeouts Gauge32 } fcPingTxPackets OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of ping packets sent to the target in this sequence." ::= { fcPingStatsEntry 1 } fcPingRxPackets OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of ping packets received from the target in this sequence." ::= { fcPingStatsEntry 2 } fcPingMinRtt OBJECT-TYPE SYNTAX Integer32 (0..10000000) UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum round trip time of all the packets that have been sent in this sequence." ::= { fcPingStatsEntry 3 } fcPingAvgRtt OBJECT-TYPE SYNTAX Integer32 (0..10000000) UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The average round trip time of all the packets that have been sent in this sequence." ::= { fcPingStatsEntry 4 } fcPingMaxRtt OBJECT-TYPE SYNTAX Integer32 (0..10000000) UNITS "microseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum round trip time of all the packets that have been sent in this sequence." ::= { fcPingStatsEntry 5 } fcPingNumTimeouts OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of timeouts encountered in this sequence." ::= { fcPingStatsEntry 6 } -- Notifications fcPingCompletionNotify NOTIFICATION-TYPE OBJECTS {fcPingAddress, fcPingTxPackets, fcPingRxPackets} STATUS current DESCRIPTION "This notification is generated whenever a sequence of pings is complete and the corresponding instance of fcPingTrapOnCompletion object has been set to 'true'." ::= { fcPingNotifications 1 } -- Conformance fcPingMIBCompliances OBJECT IDENTIFIER ::= { fcPingMIBConformance 1 } fcPingMIBGroups OBJECT IDENTIFIER ::= { fcPingMIBConformance 2 } fcPingMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Fibre Channel Ping module." MODULE MANDATORY-GROUPS {fcPingConfigGroup, fcPingStatsGroup, fcPingNotifyGroup} OBJECT fcPingRowStatus SYNTAX INTEGER { active(1), createAndGo(4), destroy(6)} MIN-ACCESS read-create DESCRIPTION "Only three values 'createAndGo', 'destroy' and 'active' out of the six enumerated values need to be supported." ::= { fcPingMIBCompliances 1 } -- Units of conformance fcPingConfigGroup OBJECT-GROUP OBJECTS {fcPingVsanIndex, fcPingAddressType, fcPingAddress, fcPingPacketCount, fcPingPayloadSize, fcPingPacketTimeout, fcPingDelay, fcPingAgeInterval, fcPingUsrPriority, fcPingAdminStatus, fcPingOperStatus, fcPingTrapOnCompletion, fcPingRowStatus} STATUS current DESCRIPTION "A collection of objects for configuring Fibre Channel Ping." ::= { fcPingMIBGroups 1 } fcPingStatsGroup OBJECT-GROUP OBJECTS {fcPingTxPackets, fcPingRxPackets, fcPingMinRtt, fcPingAvgRtt, fcPingMaxRtt, fcPingNumTimeouts} STATUS current DESCRIPTION "A collection of objects for displaying Fibre Channel Ping statistics." ::= { fcPingMIBGroups 2 } fcPingNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS {fcPingCompletionNotify} STATUS current DESCRIPTION "A collection of notification(s) for monitoring Fibre Channel Ping completion." ::= { fcPingMIBGroups 3 } END