mirror of
https://github.com/hsnodgrass/snmp_mib_archive.git
synced 2025-04-18 00:13:02 +00:00
531 lines
24 KiB
Plaintext
Executable File
531 lines
24 KiB
Plaintext
Executable File
-- **********************************************************************
|
|
--
|
|
-- Name: 3Com Switch Configuration Backup & Restore Control MIB
|
|
--
|
|
-- Description:
|
|
--
|
|
-- This MIB has been designed for use with the Simple Configuration
|
|
-- Backup and Restore Feature.
|
|
--
|
|
-- This MIB allows the user to save the configuration of a stack of
|
|
-- devices to a file on a TFTP Server, verify that the configuration
|
|
-- was stored correctly, restore the configuration from the TFTP Server
|
|
-- and produce a snapshot of the current device status and configuration.
|
|
--
|
|
-- Not all of the configuration information from the device will be
|
|
-- saved in the backup file. Security information such as passwords and
|
|
-- RADIUS shared secrets shall not be backed up. Storing these in a user
|
|
-- readable file would be a potential security breach. Furthermore,
|
|
-- there is no point in storing the basic IP address, subnetwork mask and
|
|
-- default gateway. If these are not already configured on the device,
|
|
-- it is impossible to TFTP the file to the device. And changing these
|
|
-- parameters accidentally to the settings of another device could break
|
|
-- the user's network.
|
|
--
|
|
-- At the head of the backup file there shall be:
|
|
-- (1) An indication of the hardware configuration of the device that
|
|
-- has produced this backup. This shall include information about
|
|
-- every unit in the stack and the plug-in modules that are
|
|
-- contained in each unit.
|
|
-- (2) An agent-generated comment that describes the backup. This may
|
|
-- include such items as the device name, the time when the backup
|
|
-- was taken (if supported on the device) and any other pertinent
|
|
-- information. This differs from (1) above in that this is
|
|
-- intended to be read by the user.
|
|
-- (3) Additional notes that the user may wish to attach to the file
|
|
-- for their own housekeeping purposes.
|
|
-- This is followed by the data contents of the backup file.
|
|
--
|
|
-- When a user is restoring a file, they will normally use the
|
|
-- loadDescriptionOnly operation first. This reads the contents of (2)
|
|
-- and (3) above into MIB variables. These would then be displayed to
|
|
-- the user. If the user is happy that the correct backup file has
|
|
-- been selected, then they would perform the restoreConfig operation.
|
|
-- This restores all of the configuration information that was saved
|
|
-- for the device.
|
|
--
|
|
-- Lock Mechanism:
|
|
--
|
|
-- This MIB employs a simple locking mechanism. When an operation is
|
|
-- in progress, all of the objects become read-only - that is any
|
|
-- attempt to write to the object should be rejected with a bad value
|
|
-- error. The only exception to this is that any user may write
|
|
-- abortAction(2) to a3ComBackupAction - this will abort the current
|
|
-- operation. When the abortion has completed, the objects will
|
|
-- return to read-write operation where appropriate.
|
|
--
|
|
-- For example, if a user tries to write a new filename to
|
|
-- a3ComBackupFilename, then the write will succeed if
|
|
-- a3ComBackupAction is notActive(1) and will fail otherwise.
|
|
-- This means that another user cannot corrupt the parameters
|
|
-- of the current operation.
|
|
--
|
|
-- The objects shall also become read-only if another operation in the
|
|
-- device means that a backup or restore operation cannot be executed
|
|
-- at this time. An example could be a software upgrade. In this case
|
|
-- a3ComBackupAction would be notActive(1). For simplicity, the user
|
|
-- is still allowed to write abortAction(2) to a3ComBackupAction.
|
|
--
|
|
-- **********************************************************************
|
|
--
|
|
-- History Date Reason for Change
|
|
--
|
|
-- 0.01 Sep 2001 Created.
|
|
-- 0.02 Oct 2001 Updated after initial review comments.
|
|
-- 0.03 Oct 2001 Minor editorial changes.
|
|
-- 0.04 Oct 2001 Updated after review with 3NS.
|
|
-- 0.05 Nov 2001 Restructured to allow for incorporation of user
|
|
-- locking mechanism.
|
|
-- 0.06 Nov 2001 Removed locking mechanism as being too complex.
|
|
-- MIB items are now read-only during operations as
|
|
-- an alternative locking mechanism.
|
|
-- 0.07 Nov 2001 Re-ordered the backup status enumerations.
|
|
-- 0.08 Dec 2001 Moved MIB root from products MIB to the generic branch
|
|
-- 0.09 Jan 2002 Added a3ComBackupResetNecessary to the MIB
|
|
-- 0.10 Jan 2002 No change to MIB contents.
|
|
-- 0.11 Feb 2002 Added a3ComBackupLastAction to the MIB and two new
|
|
-- backup status values.
|
|
-- 0.12 Feb 2002 Changed a3ComBackupKBytes to a3ComBackupBytes.
|
|
-- 1.00 Feb 2002 Now an Approved Standard.
|
|
--
|
|
-- **********************************************************************
|
|
-- Copyright (c) 2001 3Com Corporation, All Rights Reserved
|
|
-- **********************************************************************
|
|
|
|
A3COM0469-BACKUP-AND-RESTORE DEFINITIONS ::= BEGIN
|
|
|
|
|
|
IMPORTS
|
|
a3ComBackup-mib FROM A3COM0004-GENERIC
|
|
mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks,
|
|
enterprises FROM RFC1155-SMI
|
|
OBJECT-TYPE FROM RFC-1212
|
|
TRAP-TYPE FROM RFC-1215
|
|
DisplayString, PhysAddress, snmp FROM RFC1213-MIB
|
|
TruthValue FROM SNMPv2-TC
|
|
;
|
|
|
|
|
|
-- **********************************************************************
|
|
-- The following enumeration type defines the error messages that the
|
|
-- backup restore and snapshot operations may generate. They are listed
|
|
-- here at the head of the MIB since there are rather a lot of them.
|
|
-- **********************************************************************
|
|
|
|
BackupStatus ::= INTEGER {
|
|
backupTftpFileNotFound (1),
|
|
-- The TFTP Server was unable to locate the file that the user has
|
|
-- specified. The user should be prompted to re-enter the filename
|
|
-- correctly. This status is not applicable to operations that are
|
|
-- creating a new backup file.
|
|
|
|
backupTftpAccessViolation (2),
|
|
-- The TFTP Server will not allow the user access to the specified
|
|
-- filename. The user needs to reconfigure the TFTP Server or to select
|
|
-- a more appropriate filename.
|
|
|
|
backupTftpDiskFull (3),
|
|
-- The TFTP Server has been unable to create the specified file since it
|
|
-- has run out of disk space. The user needs to rationalise the file
|
|
-- usage on the TFTP Server. Or more disk space needs to be allocated
|
|
-- on the TFTP Server.
|
|
|
|
backupTftpIllegalOperation (4),
|
|
backupTftpUnknownTransferId (5),
|
|
-- The communications between the device and the TFTP Server have been
|
|
-- corrupted. The user should sort out any network problems and then
|
|
-- repeat the operation.
|
|
|
|
backupTftpFileExists (6),
|
|
-- The specified filename already exists on the TFTP Server and the TFTP
|
|
-- Server has been configured so that overwriting a file is not allowed.
|
|
-- The user should either use a new filename or should remove the file
|
|
-- from the TFTP Server before repeating the command.
|
|
|
|
backupTftpNoSuchUser (7),
|
|
-- The TFTP Server is not happy with this device trying to use it. It
|
|
-- may have an access table listing the IP addresses of the devices that
|
|
-- may access it. In that case, this device's IP address may not be in
|
|
-- that list.
|
|
|
|
backupNoResponse (8),
|
|
-- The device was unable to contact the TFTP Server. The user should
|
|
-- ensure that the correct TFTP Server IP address has been configured.
|
|
|
|
backupNoResource (9),
|
|
-- The device was unable to carry out the operation because of a lack
|
|
-- of resources (probably memory). The user should consider restarting
|
|
-- the device.
|
|
|
|
backupRecordLengthMismatch (10),
|
|
backupBadRecordType (11),
|
|
backupChecksumError (12),
|
|
-- These indicate that the file which is being read has been corrupted.
|
|
-- it is possible that the user has mistyped the filename and the wrong
|
|
-- file is being read.
|
|
|
|
backupWrongHardwareType (13),
|
|
backupWrongHardwareVersion (14),
|
|
-- This indicates that the backup file has been generated using a
|
|
-- different hardware configuration. The user has either changed the
|
|
-- device configuration or has selected the wrong backup file. If the
|
|
-- device configuration has been changed, the user may want to use the
|
|
-- restoreIgnoringErrors operation.
|
|
|
|
backupHeaderMissing (15),
|
|
-- The header information is missing from the backup file. This means
|
|
-- that the device is unable to determine if the file is appropriate to
|
|
-- this device. It is possible that the user has mistyped the filename.
|
|
-- This error is returned for the loadDescriptionOnly operation if it
|
|
-- cannot find the header. It is not returned for the restoreConfig
|
|
-- operation - this is to allow user generated files to be executed on
|
|
-- the device.
|
|
|
|
backupByteCountIncorrect (16),
|
|
backupAddressIncorrect (17),
|
|
-- These would be used by a binary format backup restoration if an
|
|
-- error is discovered in the format of the file. The backup file is
|
|
-- either corrupt or for a totally different type of device. The user
|
|
-- should select an appropriate backup file.
|
|
|
|
backupErasureFailed (18),
|
|
backupFlashProgramFailed (19),
|
|
-- A binary format backup restore was unable to erase or write the
|
|
-- configuration data to the flash memory. This could indicate that
|
|
-- the life of the flash memory has been exhausted. The user should
|
|
-- retry the operation before returning the unit for repair.
|
|
|
|
backupWaitingToStart (20),
|
|
-- The operation is waiting to be started. This state may last some
|
|
-- time if necessary resources are being used by another operation.
|
|
-- If it continues for too long, it may indicate a software lock-up
|
|
-- and the user may need to restart the device.
|
|
|
|
backupOperationInProgress (21),
|
|
-- The operation is in progress.
|
|
|
|
backupOperationSucceeded (22),
|
|
-- The operation succeeded.
|
|
|
|
backupAbortedByUser (23),
|
|
-- A user aborted the operation by setting the action to abortAction.
|
|
|
|
backupNotRequired (24),
|
|
-- Probably not required by the backup operations. This would indicate
|
|
-- that the device already has the configuration stored in the file
|
|
-- and that there is therefore no need to do the restore.
|
|
|
|
backupUnknownFailure (25),
|
|
-- A catch-all for any other unexplained error. The user should retry
|
|
-- the operation.
|
|
|
|
backupAbortedAutomatically (26),
|
|
-- This indicates that the operation was automatically aborted. This
|
|
-- may be due to a hardware configuration change or a software agent
|
|
-- upgrade.
|
|
|
|
backupFileValid (27),
|
|
-- The indicated backup file contains the same data that this device
|
|
-- would produce for a new backup.
|
|
|
|
backupBadCommand (28),
|
|
-- A restore of a CLI-based backup file encountered a command that it
|
|
-- did not recognise. The user has probably loaded a backup file that
|
|
-- was generated by a later version of the agent.
|
|
|
|
backupCommandFailed (29),
|
|
-- The restoration operation was terminated because a CLI command
|
|
-- discovered an error when trying to execute. The user may have edited
|
|
-- the file and introduced an error. Alternatively, the user may have
|
|
-- created the backup with a later version of the agent.
|
|
|
|
backupFilenameInvalid (30),
|
|
-- A legitimate operation was started but the filename had not been
|
|
-- configured correctly. The filename has probably been left blank.
|
|
|
|
backupTftpServerInvalid (31)
|
|
-- A legitimate operation was started but the TFTP server had not been
|
|
-- configured correctly. The object has probably been left at 0.0.0.0.
|
|
|
|
}
|
|
|
|
|
|
-- **********************************************************************
|
|
|
|
a3ComBackupNecessary OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "This object is used to warn the user that any
|
|
previous backup that they have taken may no longer be used to
|
|
restore the configuration to this device. It is therefore
|
|
imperative that the user takes a new backup.
|
|
|
|
This object shall return true(1) if the user has taken a backup
|
|
in the past and the current hardware configuration of the
|
|
device does not match the configuration at the time of the
|
|
previous backup. In such a case, the backup file will either
|
|
contain commands that can not be executed on the current
|
|
hardware or will not contain configuration data for additional
|
|
hardware. The user needs either to take a new backup or to
|
|
restore the original configuration. Note that if the user
|
|
restores the original hardware configuration, this item shall
|
|
(by definition) return to false(2)."
|
|
::= {a3ComBackup-mib 1}
|
|
|
|
a3ComBackupTftpServer OBJECT-TYPE
|
|
SYNTAX IpAddress
|
|
ACCESS read-write
|
|
STATUS mandatory
|
|
DESCRIPTION "This object is used to store the IP address of the
|
|
TFTP Server which is being used to hold the backup and snapshot
|
|
files. Before a user has programmed an address, this value shall
|
|
return 0.0.0.0 Only valid class A, B or C IP addresses may be
|
|
programmed into this object.
|
|
|
|
This object shall be read-only when an operation is in progress.
|
|
That is when a3ComBackupAction is not notActive(1)"
|
|
::= {a3ComBackup-mib 2}
|
|
|
|
a3ComBackupFilename OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
ACCESS read-write
|
|
STATUS mandatory
|
|
DESCRIPTION "The name of the backup or snapshot file on the TFTP
|
|
Server. This may include directory information as appropriate
|
|
to the TFTP Server being used. This value shall contain a zero
|
|
length string until the user specifies a particular value.
|
|
|
|
This object shall be read-only when an operation is in progress.
|
|
That is when a3ComBackupAction is not notActive(1)"
|
|
::= {a3ComBackup-mib 3}
|
|
|
|
a3ComBackupAgentComment OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "This object contains the header comment that the
|
|
agent prepends to the backup and snapshot files. By default,
|
|
it will contain a zero length string. It shall also be set to
|
|
a zero length string by the agent when any operation is
|
|
started. As the operation proceeds, this object shall be set
|
|
to the generated string for backup and snapshot operations and
|
|
to the received string for restore operations. The string shall
|
|
then remain unchanged until the next operation commences.
|
|
|
|
If the file being restored does not contain a header, this
|
|
object shall contain the zero length string when the operation
|
|
has completed.
|
|
|
|
This object shall be read-only when an operation is in progress.
|
|
That is when a3ComBackupAction is not notActive(1)"
|
|
::= {a3ComBackup-mib 4}
|
|
|
|
a3ComBackupUserComment OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
ACCESS read-write
|
|
STATUS mandatory
|
|
DESCRIPTION "This object is similar to the agent comment object
|
|
above but it allows the user to add their own notes to the
|
|
backup or snapshot file. This object shall default to a zero
|
|
length string. Before a user starts a backup or snapshot
|
|
operation, they should set their comments in this object (or
|
|
clear it if they have no comments). For restore operations
|
|
this object shall be cleared as the restore commences and shall
|
|
be loaded with the user comment from the restored file's header
|
|
when it is received.
|
|
|
|
If the file being restored does not contain a header, this
|
|
object shall contain the zero length string when the operation
|
|
has completed.
|
|
|
|
This object shall be read-only when an operation is in progress.
|
|
That is when a3ComBackupAction is not notActive(1)"
|
|
::= {a3ComBackup-mib 5}
|
|
|
|
a3ComBackupAction OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
notActive (1),
|
|
abortAction (2),
|
|
cliSave (3),
|
|
cliVerify (4),
|
|
binarySave (5),
|
|
binaryVerify (6),
|
|
restoreConfig (7),
|
|
restoreIgnoringErrors (8),
|
|
loadDescriptionOnly (9),
|
|
takeSnapshot (10)
|
|
}
|
|
ACCESS read-write
|
|
STATUS mandatory
|
|
DESCRIPTION "This object actually starts the operation. The user's
|
|
parameters MUST have been entered into the preceeding objects
|
|
before a command is started. The objects SHOULD all be set using
|
|
a single SNMP packet. This reduces the liklihood of one user
|
|
altering another user's parameters inadvertantly.
|
|
|
|
This object shall return notActive(1) when no operations are in
|
|
progress. While an operation is in progress, it will return the
|
|
enumeration for the operation that is in progress. When that
|
|
operation finishes, this object shall return to notActive(1).
|
|
|
|
The user may set this object to abortAction(2) at any time. This
|
|
will abort any operation that is currently in progress. While
|
|
the operation is being aborted, this object shall return
|
|
abortAction(2). When the abort is complete, this value shall
|
|
return to notActive(1). The a3ComBackupStatus shall be set to
|
|
backupAbortedByUser(23) to indicate that the command was aborted.
|
|
|
|
The user may only start any of the other operations when the state
|
|
is notActive(1). Once an operation is in progress, this object
|
|
shall return the enumeration for the operation until it completes.
|
|
The outcome of the operation may be read from a3ComBackupStatus
|
|
below.
|
|
|
|
A device may refuse to carry out an operation if it is currently
|
|
unable to carry out the operation or if the operation is not
|
|
supported. In this case a bad value response shall be returned.
|
|
|
|
The cliSave(3) operation saves the configuration as a list of CLI
|
|
commands. If these commands are played back to the device, then
|
|
the resultant configuration of the device would be that of the
|
|
device when the backup was taken. The cliVerify(4) operation
|
|
checks that a backup file contains the commands that the current
|
|
configuration of the device would generate.
|
|
|
|
The binarySave(5) and binaryVerify(6) operations are similar to
|
|
the CLI operations. The difference being that the configuration
|
|
is stored in a binary format rather than the CLI command format.
|
|
|
|
The restoreConfig(7) operation will read the configuration from
|
|
the specified file and apply it to the current device. It is
|
|
assumed that the configuration file will have been generated by
|
|
this device or by a device of identical configuration. If this
|
|
is not the case, then the operation shall be aborted and the
|
|
a3ComBackupStatus shall be set to backupWrongHardwareType. If
|
|
any of the commands fail to execute, then the operation is
|
|
aborted and a3ComBackupStatus is set to backupBadCommand or
|
|
backupCommandFailed. The details of the failed command shall be
|
|
stored in a3ComBackupFailedCommand and a3ComBackupFailureReason.
|
|
|
|
The preceeding is a deliberate protection mechanism. It ensures
|
|
that a user does not accidentally restore the wrong configuration
|
|
to a device. However, there may be times when a user wants to
|
|
copy the configuration from one type of device to another. The
|
|
user may edit the file to remove commands that the new device
|
|
does not understand. This could be a time consuming process.
|
|
We therefore also allow the user the restoreIgnoringErrors(8)
|
|
operation. This is similar to the restoreConfig(7) operation
|
|
above with the exception that all errors are ignored and the
|
|
restore passes onto the next configuration item in the backup
|
|
file. The objects a3ComBackupFailedCommand and
|
|
a3ComBackupFailureReason will contain details of the last error
|
|
which occurred.
|
|
|
|
As an additional protection mechanism, the user may also load
|
|
just the comment fields from the backup file. These can then be
|
|
displayed to the user so that they can confirm that they have
|
|
selected the correct operation. In this case the user would
|
|
select the loadDescriptionOnly(9) operation; wait for it to
|
|
complete; display the comments to the user and ask for
|
|
confiirmation; if the user is happy that it is the correct file
|
|
it is then loaded using the restoreConfig(7) operation.
|
|
|
|
Note: It is possible for another user to overwrite the parameters
|
|
while the confirmation is awaited. The user SHOULD therefore
|
|
set the parameters to the same values as were used for the
|
|
loadDescriptionOnly(9) operation in the same SNMP packet as the
|
|
setting of the restoreConfig(7) operation.
|
|
|
|
The final operation is takeSnapshot(10). A snapshot creates a
|
|
file which contains the current status of the device. This
|
|
includes dynamic details such as what addresses have been
|
|
learned on a port as well as the configuration details. This
|
|
file is intended for human reading and contains the detail in
|
|
a tabular format. A snapshot is similar to the output that
|
|
would be created by running all of the display and summary
|
|
commands on the device."
|
|
::= {a3ComBackup-mib 6}
|
|
|
|
a3ComBackupStatus OBJECT-TYPE
|
|
SYNTAX BackupStatus
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "This returns the status of the current or the previous
|
|
operation. See the top of this MIB for a list of all of the
|
|
possible values that this object may take."
|
|
::= {a3ComBackup-mib 7}
|
|
|
|
a3ComBackupBytes OBJECT-TYPE
|
|
SYNTAX INTEGER
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "The number of bytes of the configuration data that
|
|
have been transferred between the device and the TFTP Server.
|
|
This may be used by the user interface to provide an indication
|
|
of the progress of the operation."
|
|
::= {a3ComBackup-mib 8}
|
|
|
|
a3ComBackupFailedCommand OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "If any restore command fails, then this object shall
|
|
contain the command line that caused the failure. It shall be
|
|
cleared when the next restore operation commences. Where the
|
|
failures are being ignored, it shall contain the details of the
|
|
last command that was ignored."
|
|
::= {a3ComBackup-mib 9}
|
|
|
|
a3ComBackupFailureReason OBJECT-TYPE
|
|
SYNTAX DisplayString
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "If a3ComBackupFailedCommand contains a failed
|
|
command, then this object contains the error message that the
|
|
failed command produced. Where the failures are being ignored,
|
|
it shall contain the details of the last command that was
|
|
ignored."
|
|
::= {a3ComBackup-mib 10}
|
|
|
|
a3ComBackupResetNecessary OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "This object is used to inform management stations such
|
|
as 3NS that the device must be reset to factory defaults before
|
|
a backup file may be restored. It shall return true(1) if the
|
|
device must first be returned to factory defaults.
|
|
|
|
Note that the basic IP parameters are not to be returned to the
|
|
factory defaults otherwise communication with the device would
|
|
be lost. These IP parameters are not saved in the backup file."
|
|
::= {a3ComBackup-mib 11}
|
|
|
|
a3ComBackupLastAction OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
noCommandIssued (1),
|
|
cliSave (3),
|
|
cliVerify (4),
|
|
binarySave (5),
|
|
binaryVerify (6),
|
|
restoreConfig (7),
|
|
restoreIgnoringErrors (8),
|
|
loadDescriptionOnly (9),
|
|
takeSnapshot (10)
|
|
}
|
|
ACCESS read-only
|
|
STATUS mandatory
|
|
DESCRIPTION "This object returns the last operation that was
|
|
performed by the user. This is used for display purposes so
|
|
that a suitable message may be displayed to the user."
|
|
::= {a3ComBackup-mib 12}
|
|
|
|
|
|
-- **********************************************************************
|
|
|
|
END
|
|
|
|
|
|
|