HP-ICF-DOWNLOAD DEFINITIONS ::= BEGIN IMPORTS Integer32, Gauge32, OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI DisplayString, RowStatus, TDomain, TAddress FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF hpicfObjectModules, hpicfCommon FROM HP-ICF-OID; hpicfDownloadMib MODULE-IDENTITY LAST-UPDATED "9703060336Z" ORGANIZATION "Hewlett Packard Company, Workgroup Networks Division" CONTACT-INFO "Hewlett Packard Company 8000 Foothills Blvd. Roseville, CA 95747" DESCRIPTION "This MIB module manages the network download capabilities for devices in the HP Integrated Communication Facility product line." REVISION "9703060336Z" DESCRIPTION "Added some ranges that were missing." REVISION "9609100225Z" DESCRIPTION "Updated division name in ORGANIZATION clause." REVISION "9601250356Z" DESCRIPTION "Split this MIB module from the former monolithic hp-icf MIB." REVISION "9507130000Z" DESCRIPTION "Version of MIB module that added support for specifying the download destination, and tracking progress using octet count and passes remaining." REVISION "9411200000Z" DESCRIPTION "Version of MIB module that expanded the error codes for download status." REVISION "9402250000Z" DESCRIPTION "Initial version of this MIB module." ::= { hpicfObjectModules 4 } hpicfDownload OBJECT IDENTIFIER ::= { hpicfCommon 3 } hpicfDownloadTable OBJECT-TYPE SYNTAX SEQUENCE OF HpicfDownloadEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of firmware downloads to this device. There will at any time be either 0 or 1 rows in this table, and the only valid index for this table is 1. It is only a table so that we may take advantage of the RowStatus textual convention for configuring the download parameters." ::= { hpicfDownload 1 } hpicfDownloadEntry OBJECT-TYPE SYNTAX HpicfDownloadEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The row in the hpicfDownloadTable containing the download parameters." INDEX { hpicfDownloadIndex } ::= { hpicfDownloadTable 1 } HpicfDownloadEntry ::= SEQUENCE { hpicfDownloadIndex INTEGER, hpicfDownloadOwnerAddress TAddress, hpicfDownloadOwnerDomain TDomain, hpicfDownloadTAddress TAddress, hpicfDownloadTDomain TDomain, hpicfDownloadFilename DisplayString, hpicfDownloadResetType INTEGER, hpicfDownloadErrorStatus INTEGER, hpicfDownloadErrorText DisplayString, hpicfDownloadStatus RowStatus, hpicfDownloadPassesLeft Integer32, hpicfDownloadOctetCount Integer32, hpicfDownloadDestination DisplayString } hpicfDownloadIndex OBJECT-TYPE SYNTAX INTEGER { dlInstance(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "The index which uniquely identifies this row. The only legal value for this object is 1." ::= { hpicfDownloadEntry 1 } hpicfDownloadOwnerAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The transport address of the management station that initiated this download attempt, formatted according to the value of the associated instance of hpicfDownloadOwnerDomain." ::= { hpicfDownloadEntry 2 } hpicfDownloadOwnerDomain OBJECT-TYPE SYNTAX TDomain MAX-ACCESS read-only STATUS current DESCRIPTION "The kind of transport service used by the management station that initiated this download attempt." ::= { hpicfDownloadEntry 3 } hpicfDownloadTAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The transport address of the node to download firmware from, formatted according to the value of the associated instance of hpicfDownloadTDomain. An attempt to modify this value will fail if the associated hpicfDownloadStatus object would be equal to 'active' both before and after the modification attempt." ::= { hpicfDownloadEntry 4 } hpicfDownloadTDomain OBJECT-TYPE SYNTAX TDomain MAX-ACCESS read-create STATUS current DESCRIPTION "The kind of transport service to be used for the download. Currently supports snmpUDPDomain and snmpIPXDomain. An attempt to modify this value will fail if the associated hpicfDownloadStatus object would be equal to 'active' both before and after the modification attempt." ::= { hpicfDownloadEntry 5 } hpicfDownloadFilename OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-create STATUS current DESCRIPTION "Filename and path of file to download (maximum length of 63 characters + NULL). An attempt to modify this value will fail if the associated hpicfDownloadStatus object would be equal to 'active' both before and after the modification attempt." ::= { hpicfDownloadEntry 6 } hpicfDownloadResetType OBJECT-TYPE SYNTAX INTEGER { noReset(1), warmReset(2), factoryReset(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of reset to perform after completion of the firmware download. Note that not all agents will support all possible values, and there may be other agent-specific values for this object." ::= { hpicfDownloadEntry 7 } hpicfDownloadErrorStatus OBJECT-TYPE SYNTAX INTEGER { fileNotFound(1), accessViolation(2), diskFull(3), illegalOperation(4), unknownTID(5), fileExists(6), noSuchUser(7), notDefined(8), corruptFile(9), noServer(10), tftpTimeout(11), hardwareError(12), success(13), aborted(14), inProgress(15), idle(16), erasingEeprom(17), incompleteFirmware(18), requirePowerCycle(19), cannotUpgrade(20), cannotDowngrade(21) } MAX-ACCESS read-only STATUS current DESCRIPTION "Status of download. The first seven codes are equal to the codes defined by the TFTP protocol. 'notDefined' is the same as TFTP protocol error 0. The following are the other possible values for this object: corruptFile - the agent detected a problem with the download file format. noServer - the TFTP server at hpicfDownloadTAddress did not respond to the TFTP request. tftpTimeout - the download was aborted due to excessive timeouts. hardwareError - there was a hardware problem on the agent that forced an abort of the download (see hpicfDownloadErrorText for more detailed information). success - the download has completed successfully. aborted - the download was aborted by setting the hpicfDownloadStatus to 'notInService' or 'delete'. inProgress - the TFTP transfer is currently active. idle - means that the download has not yet started (i.e. the value of hpicfDownloadStatus has not yet been set to 'active'). erasingEeprom - the agent is currently erasing the EEPROM device. Currently only used on JetDirect agents. incompleteFirmware - the agent is running an incomplete version of firmware and requires a download. Currently only used on JetDirect agents. requirePowerCycle - the agent must be power cycled to run the newly downloaded firmware. Currently only used on JetDirect agents. cannotUpgrade - the agent's current firmware revision cannot be upgraded to the revision in the download file. cannotDowngrade - the agent's current firmware revision cannot be downgraded to the revision in the download file." ::= { hpicfDownloadEntry 8 } hpicfDownloadErrorText OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the current error status of the firmware download." ::= { hpicfDownloadEntry 9 } hpicfDownloadStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this download entry. This object may not be set to 'active' unless the following columnar objects exist in this row: hpicfDownloadTAddress, hpicfDownloadTDomain, hpicfDownloadFilename, and hpicfDownloadResetType." ::= { hpicfDownloadEntry 10 } hpicfDownloadPassesLeft OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of passes remaining in the current download attempt. Some agents (currently JetDirect agents) require multiple passes through the download file in order to download a firmware image. This object indicates the number of passes remaining, including the current pass. The object is initialized by the agent to the number of passes required to complete the download when the corresponding instance of hpicfDownloadStatus is set to 'active'. It is decremented by one each time a pass completes." ::= { hpicfDownloadEntry 11 } hpicfDownloadOctetCount OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that have been transferred during the current pass. This object is initialized to zero by the agent when the corresponding instance of hpicfDownloadStatus is set to 'active', and reinitialized to zero at the beginning of each pass." ::= { hpicfDownloadEntry 12 } hpicfDownloadDestination OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-create STATUS current DESCRIPTION "The destination of the download file on the agent. The allowable destination names depend on the type of agent being downloaded. In all cases, a destination of '/os' indicates that this is a download of the agent's firmware image. The agent should use this as the default value for this object when the row is created. ICF router agents also allow a download of a config file. Currently, the name of the config file on the agent is '/config'. An agent should reject an attempt to set this object to a destination name that does not make sense for this type of agent." ::= { hpicfDownloadEntry 13 } hpicfDownloadLogMaxSize OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of the download log entries supported by this agent. Note that 0 is a legal value for this variable." ::= { hpicfDownload 2 } hpicfDownloadLogSize OBJECT-TYPE SYNTAX Gauge32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of download log entries currently in the hpicfDownloadLogTable." ::= { hpicfDownload 3 } hpicfDownloadLogTable OBJECT-TYPE SYNTAX SEQUENCE OF HpicfDownloadLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A log of the hpicfDownloadSize most recent download attempts to this device. The first entry in the table is the oldest." ::= { hpicfDownload 4 } hpicfDownloadLogEntry OBJECT-TYPE SYNTAX HpicfDownloadLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the hpicfDownloadLogTable containing information about a single download attempt." INDEX { hpicfDlLogIndex } ::= { hpicfDownloadLogTable 1 } HpicfDownloadLogEntry ::= SEQUENCE { hpicfDlLogIndex Integer32, hpicfDlLogOwnerAddress TAddress, hpicfDlLogOwnerDomain TDomain, hpicfDlLogTAddress TAddress, hpicfDlLogTDomain TDomain, hpicfDlLogFilename DisplayString, hpicfDlLogResetType INTEGER, hpicfDlLogErrorStatus INTEGER, hpicfDlLogErrorText DisplayString } hpicfDlLogIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The index of this entry in the download log table. Index 1 will always contain the oldest entry. If the table is full when a download attempt is made, the new entry becomes the last entry (hpicfDownloadLogMaxSize), and all earlier entries are shifted down by one entry, removing the old index 1." ::= { hpicfDownloadLogEntry 1 } hpicfDlLogOwnerAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The transport address of the management station that attempted to initiate a download of this device, formatted according to the value of hpicfDlLastOwnerDomain." ::= { hpicfDownloadLogEntry 2 } hpicfDlLogOwnerDomain OBJECT-TYPE SYNTAX TDomain MAX-ACCESS read-only STATUS current DESCRIPTION "The kind of transport service used by the management station that attempted to initiate a download of this device." ::= { hpicfDownloadLogEntry 3 } hpicfDlLogTAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The transport address of the node from which this device attempted to download firmware, formatted according to the value of hpicfDlLastTDomain." ::= { hpicfDownloadLogEntry 4 } hpicfDlLogTDomain OBJECT-TYPE SYNTAX TDomain MAX-ACCESS read-only STATUS current DESCRIPTION "The kind of transport service which was used for the attempt to download firmware to this device." ::= { hpicfDownloadLogEntry 5 } hpicfDlLogFilename OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) MAX-ACCESS read-only STATUS current DESCRIPTION "The filename from which this device attempted to download firmware." ::= { hpicfDownloadLogEntry 6 } hpicfDlLogResetType OBJECT-TYPE SYNTAX INTEGER { noReset(1), warmReset(2), factoryReset(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of reset requested to be performed after completion of the firmware download attempt." ::= { hpicfDownloadLogEntry 7 } hpicfDlLogErrorStatus OBJECT-TYPE SYNTAX INTEGER { fileNotFound(1), accessViolation(2), diskFull(3), illegalOperation(4), unknownTID(5), fileExists(6), noSuchUser(7), notDefined(8), corruptFile(9), noServer(10), tftpTimeout(11), hardwareError(12), success(13), aborted(14) } MAX-ACCESS read-only STATUS current DESCRIPTION "The result of the attempt to download firmware to this device. The values are the same as the corresponding values of hpicfDownloadErrorStatus." ::= { hpicfDownloadLogEntry 8 } hpicfDlLogErrorText OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the final error status of the attempt to download firmware to this device." ::= { hpicfDownloadLogEntry 9 } -- conformance information hpicfDownloadConformance OBJECT IDENTIFIER ::= { hpicfDownloadMib 1 } hpicfDownloadCompliances OBJECT IDENTIFIER ::= { hpicfDownloadConformance 1 } hpicfDownloadGroups OBJECT IDENTIFIER ::= { hpicfDownloadConformance 2 } -- compliance statements hpicfDownloadCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "********* THIS COMPLIANCE IS DEPRECATED ********* The compliance statement for HP ICF network downloadable devices." MODULE MANDATORY-GROUPS { hpicfDownloadGroup } GROUP hpicfDownloadLogGroup DESCRIPTION "This group should be implemented by devices that are able to keep log of network download attempts." ::= { hpicfDownloadCompliances 1 } hpicfDownloadConfigCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "New version of the compliance statement for HP ICF network downloadable devices that allows for monitoring in-progress downloads and for directing a download to different destinations on the device." MODULE MANDATORY-GROUPS { hpicfDownloadConfigGroup } GROUP hpicfDownloadLogGroup DESCRIPTION "This group should be implemented by devices that are able to keep log of network download attempts." ::= { hpicfDownloadCompliances 2 } -- units of conformance hpicfDownloadGroup OBJECT-GROUP OBJECTS { hpicfDownloadIndex, hpicfDownloadOwnerAddress, hpicfDownloadOwnerDomain, hpicfDownloadTAddress, hpicfDownloadTDomain, hpicfDownloadFilename, hpicfDownloadResetType, hpicfDownloadErrorStatus, hpicfDownloadErrorText, hpicfDownloadStatus, hpicfDownloadLogMaxSize, hpicfDownloadLogSize } STATUS deprecated DESCRIPTION "********* THIS GROUP IS DEPRECATED ********* A collection of objects for controlling network download of device firmware to ICF devices." ::= { hpicfDownloadGroups 1 } hpicfDownloadLogGroup OBJECT-GROUP OBJECTS { hpicfDlLogIndex, hpicfDlLogOwnerAddress, hpicfDlLogOwnerDomain, hpicfDlLogTAddress, hpicfDlLogTDomain, hpicfDlLogFilename, hpicfDlLogResetType, hpicfDlLogErrorStatus, hpicfDlLogErrorText } STATUS current DESCRIPTION "A collection of objects for maintaining a log of network download attempts to ICF devices." ::= { hpicfDownloadGroups 2 } hpicfDownloadConfigGroup OBJECT-GROUP OBJECTS { hpicfDownloadIndex, hpicfDownloadOwnerAddress, hpicfDownloadOwnerDomain, hpicfDownloadTAddress, hpicfDownloadTDomain, hpicfDownloadFilename, hpicfDownloadResetType, hpicfDownloadErrorStatus, hpicfDownloadErrorText, hpicfDownloadStatus, hpicfDownloadPassesLeft, hpicfDownloadOctetCount, hpicfDownloadDestination, hpicfDownloadLogMaxSize, hpicfDownloadLogSize } STATUS current DESCRIPTION "A collection of objects for controlling and monitoring network download of device firmware to ICF devices." ::= { hpicfDownloadGroups 3 } END