-- ***************************************************************** -- DLINKSW-SYSTEM-FILE-MIB: D-Link System File MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKSW-SYSTEM-FILE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, RowStatus, DisplayString FROM SNMPv2-TC InetAddressType, InetAddress FROM INET-ADDRESS-MIB InterfaceIndexOrZero FROM IF-MIB dlinkIndustrialCommon FROM DLINK-ID-REC-MIB; dlinkSwSystemFileMIB MODULE-IDENTITY LAST-UPDATED "201308190000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for managing system critical files (e.g configuration and firmware.) " REVISION "201308190000Z" DESCRIPTION "Add traps about uploading or downloading image file (dsfUploadImage, dsfDownloadImage) and uploading, downloading or saving configuration file (dsfUploadCfg, dsfDownloadCfg, dsfSaveCfg)." REVISION "201304240000Z" DESCRIPTION "This is the first version of the MIB file." ::= { dlinkIndustrialCommon 14 } -- -- Node definitions -- dsfMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwSystemFileMIB 0 } dsfMIBObjects OBJECT IDENTIFIER ::= { dlinkSwSystemFileMIB 1 } dsfMIBConformance OBJECT IDENTIFIER ::= { dlinkSwSystemFileMIB 2 } -- ----------------------------------------------------------------------------- dsfBootInfoObjects OBJECT IDENTIFIER ::= { dsfMIBObjects 1 } dsfNextBootCfgUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the URL of the file to be used as the startup configuration file." ::= { dsfBootInfoObjects 1 } dsfNextBootImageUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the URL of the file to be used as boot image file." ::= { dsfBootInfoObjects 2 } dsfCheckingBootImageCheck OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether displays the information of the specified next boot image to let user understand whether the specified file is suitable to be a boot image or not, which some information should be displayed such as purpose of the file, version number, time stamp, and checksum etc. The object dsfBootCheckResult indicates the checking result. " ::= { dsfBootInfoObjects 3 } dsfBootImageCheckResult OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the information of the specified next boot image such as the purpose of the file, version number, time stamp, and checksum etc. This object is meaningful when dsfNextBootImageUrl is not empty and dsfBootCheckImage is 'true'. " ::= { dsfBootInfoObjects 4 } -- ----------------------------------------------------------------------------- dsfBootImageTable OBJECT-TYPE SYNTAX SEQUENCE OF DsfBootImageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table is used to display information for boot images of units." ::= { dsfBootInfoObjects 5 } dsfBootImageEntry OBJECT-TYPE SYNTAX DsfBootImageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains version information of a unit." INDEX { dsfBootImageUnitId, dsfBootImageIndex } ::= { dsfBootImageTable 1 } DsfBootImageEntry ::= SEQUENCE { dsfBootImageUnitId Unsigned32, dsfBootImageIndex Unsigned32, dsfBootImageUrl OCTET STRING, dsfBootImageInWorking TruthValue } dsfBootImageUnitId OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the unit (stacking device) or slot (chassis device) ID. " ::= { dsfBootImageEntry 1 } dsfBootImageIndex OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the index of boot image." ::= { dsfBootImageEntry 2 } dsfBootImageUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the file name and path of the entry." ::= { dsfBootImageEntry 3 } dsfBootImageInWorking OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the entry is the current boot image." ::= { dsfBootImageEntry 4 } -- ----------------------------------------------------------------------------- dsfBootCfgFileTable OBJECT-TYPE SYNTAX SEQUENCE OF DsfBootCfgFileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table is used to display boot configuration file of units." ::= { dsfBootInfoObjects 6 } dsfBootCfgFileEntry OBJECT-TYPE SYNTAX DsfBootCfgFileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains the information for boot configuration file of a unit." INDEX { dsfBootCfgFileUnitId } ::= { dsfBootCfgFileTable 1 } DsfBootCfgFileEntry ::= SEQUENCE { dsfBootCfgFileUnitId Unsigned32, dsfBootCfgFileUrl OCTET STRING } dsfBootCfgFileUnitId OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the unit (stacking device) or slot (chassis device) ID. " ::= { dsfBootCfgFileEntry 1 } dsfBootCfgFileUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the file name and path of the entry." ::= { dsfBootCfgFileEntry 2 } -- ----------------------------------------------------------------------------- dsfCopyTable OBJECT-TYPE SYNTAX SEQUENCE OF DsfCopyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains the information for file copy. There will at any time be either 0 or 1 row 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 copying parameters." ::= { dsfMIBObjects 2 } dsfCopyEntry OBJECT-TYPE SYNTAX DsfCopyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains parameters for copy." INDEX { dsfCopyIndex } ::= { dsfCopyTable 1 } DsfCopyEntry ::= SEQUENCE { dsfCopyIndex Unsigned32, dsfCopyType INTEGER, dsfCopySrcUrl OCTET STRING, dsfCopyDstUrl OCTET STRING, dsfCopyRemoteAddrType InetAddressType, dsfCopyRemoteAddr InetAddress, dsfCopyUsrName DisplayString, dsfCopyUsrPwd DisplayString, dsfCopyRemoteTcpPort Unsigned32, dsfCopyVrfName DisplayString, dsfCopyErrorStatus DisplayString, dsfCopyRowStatus RowStatus } dsfCopyIndex OBJECT-TYPE SYNTAX Unsigned32 (1) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies this row. The only legal value for this object is 1." ::= { dsfCopyEntry 1 } dsfCopyType OBJECT-TYPE SYNTAX INTEGER { localToLocal(1), localToTftpRemote(2), localToFtpRemote(3), localToRcpRemote(4), tftpRemoteToLocal(5), ftpRemoteToLocal(6), rcpRemoteToLocal(7) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the type of the copy. 'localToLocal' - Copy file within the system. 'localToTftpRemote' - Upload file remote host via TFTP. 'localToFtpRemote' - Upload file remote host via FTP. 'localToRcpRemote' - Upload file remote host via RCP. 'tftpRemoteToLocal' - Download file from remote host via TFTP. 'ftpRemoteToLocal' - Download file from remote host via FTP. 'rcpRemoteToLocal' - Download file from remote host via RCP. " ::= { dsfCopyEntry 2 } dsfCopySrcUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the source URL for the source file to be copied. The special form 'startup-config','running-config','system-log', and 'attack-log' are reserved to indicate the system files. " ::= { dsfCopyEntry 3 } dsfCopyDstUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the destination URL for the copied file. The special form 'startup-config' and 'running-config' are reserved to indicate the system files. " ::= { dsfCopyEntry 4 } dsfCopyRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the type of address of the remote host. This object is meaningless if dsfCopyType is 'localToLocal'. " DEFVAL { ipv4 } ::= { dsfCopyEntry 5 } dsfCopyRemoteAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the address of the remote host. This object is meaningless if dsfCopyType is 'localToLocal'. " ::= { dsfCopyEntry 6 } dsfCopyUsrName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the user name on the source FTP/RCP server. This object is meaningful only when the object dsfCopyType is 'localToFtpRemote', 'localToRcpRemote', 'ftpRemoteToLocal, or 'rcpRemoteToLocal'. " ::= { dsfCopyEntry 7 } dsfCopyUsrPwd OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the password for the user. This object is meaningful only when the object dsfCopyType is 'localToFtpRemote' or 'ftpRemoteToLocal'. " ::= { dsfCopyEntry 8 } dsfCopyRemoteTcpPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the TCP port on the remote FTP server." ::= { dsfCopyEntry 9 } dsfCopyVrfName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the name of the VRF instance to which the TFTP/FTP/RCP server belongs." ::= { dsfCopyEntry 10 } dsfCopyErrorStatus OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Status of file copy." ::= { dsfCopyEntry 11 } dsfCopyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. The writable columns in a row cannot be changed if the row is 'active'." ::= { dsfCopyEntry 12 } -- ----------------------------------------------------------------------------- dsfCfgReplaceTable OBJECT-TYPE SYNTAX SEQUENCE OF DsfCfgReplaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains the information for replacing the current running configuration file. There will at any time be either 0 or 1 row in this table, and the only valid index for this table is 1." ::= { dsfMIBObjects 3 } dsfCfgReplaceEntry OBJECT-TYPE SYNTAX DsfCfgReplaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains parameters for configure replace." INDEX { dsfCfgReplaceIndex } ::= { dsfCfgReplaceTable 1 } DsfCfgReplaceEntry ::= SEQUENCE { dsfCfgReplaceIndex Unsigned32, dsfCfgReplaceSrcType INTEGER, dsfCfgReplaceSrcUrl OCTET STRING, dsfCfgReplaceRemoteAddrType InetAddressType, dsfCfgReplaceRemoteAddr InetAddress, dsfCfgReplaceUsrName DisplayString, dsfCfgReplaceUsrPwd DisplayString, dsfCfgReplaceRemoteTcpPort Unsigned32, dsfCfgReplaceVrfName DisplayString, dsfCfgReplaceErrorStatus DisplayString, dsfCfgReplaceRowStatus RowStatus } dsfCfgReplaceIndex OBJECT-TYPE SYNTAX Unsigned32 (1) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies this row. The only legal value for this object is 1." ::= { dsfCfgReplaceEntry 1 } dsfCfgReplaceSrcType OBJECT-TYPE SYNTAX INTEGER { local(1), tftpRemote(2), ftpRemote(3), rcpRemote(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates where to get the file to replace the current running configuration. 'local' - Get the replacing configuration file from the system. 'tftpRemote' - Get the replacing configuration file from remote host via TFTP. 'ftpRemote' - Get the replacing configuration file from remote host via FTP. 'rcpRemote' - Get the replacing configuration file from remote host via RCP. " ::= { dsfCfgReplaceEntry 2 } dsfCfgReplaceSrcUrl OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..799)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the source URL for the source configuration file to be executed." ::= { dsfCfgReplaceEntry 3 } dsfCfgReplaceRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the type of address of the remote host. This object is meaningless if dsfCfgReplaceSrcType is 'local'. " DEFVAL { ipv4 } ::= { dsfCfgReplaceEntry 4 } dsfCfgReplaceRemoteAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the address of the remote host. This object is meaningless if dsfCfgReplaceSrcType is 'local'. " ::= { dsfCfgReplaceEntry 5 } dsfCfgReplaceUsrName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the user name on the source FTP/RCP server. This object is meaningful only when the object dsfCfgReplaceSrcType is 'ftpRemote', 'rcpRemote'. " ::= { dsfCfgReplaceEntry 6 } dsfCfgReplaceUsrPwd OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the password for the user. This object is meaningful only when the object dsfCfgReplaceSrcType is 'ftpRemote'. " ::= { dsfCfgReplaceEntry 7 } dsfCfgReplaceRemoteTcpPort OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the TCP port on the remote FTP server." ::= { dsfCfgReplaceEntry 8 } dsfCfgReplaceVrfName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the name of the VRF instance to which the TFTP/FTP/RCP server belongs." ::= { dsfCfgReplaceEntry 9 } dsfCfgReplaceErrorStatus OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the processing status about the replacement of current running configuration. " ::= { dsfCfgReplaceEntry 10 } dsfCfgReplaceRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. The writable columns in a row cannot be changed if the row is 'active'." ::= { dsfCfgReplaceEntry 11 } -- ----------------------------------------------------------------------------- dsfIpSrcIfObjects OBJECT IDENTIFIER ::= { dsfMIBObjects 4 } dsfIpTftpSrcIf OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the interface whose IP address will be used as the source address for initiating TFTP packets. The special value of 0 indicates the interface is not specified, and IP address of the closest interface will be used. " ::= { dsfIpSrcIfObjects 1 } dsfIpFtpSrcIf OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the interface whose IP address will be used as the source address for initiating FTP packets. The special value of 0 indicates the interface is not specified, and IP address of the closest interface will be used. " ::= { dsfIpSrcIfObjects 2 } dsfIpRcpSrcIf OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the interface whose IP address will be used as the source address for initiating RCP packets. The special value of 0 indicates the interface is not specified, and IP address of the closest interface will be used. " ::= { dsfIpSrcIfObjects 3 } -- ----------------------------------------------------------------------------- dsfClearRunCfg OBJECT-TYPE SYNTAX INTEGER { clear(1), noOp(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to clear running-config when set to 'clear'. No action is taken if this object is set to 'noOp'. When read, the value 'noOp' is returned." ::= { dsfMIBObjects 5 } -- ----------------------------------------------------------------------------- dsfResetSystem OBJECT-TYPE SYNTAX INTEGER { reset(1), noOp(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to reset system when set to 'reset'. It will clear system configuration, save and reboot the system. No action is taken if this object is set to 'noOp'. When read, the value 'noOp' is returned." ::= { dsfMIBObjects 6 } -- ----------------------------------------------------------------------------- -- MIB Notifications statements -- ----------------------------------------------------------------------------- dsfUploadImage NOTIFICATION-TYPE STATUS current DESCRIPTION "The notification is sent when the user uploads image file successfully." ::= { dsfMIBNotifications 1 } dsfDownloadImage NOTIFICATION-TYPE STATUS current DESCRIPTION "The notification is sent when the user downloads image file successfully." ::= { dsfMIBNotifications 2 } dsfUploadCfg NOTIFICATION-TYPE STATUS current DESCRIPTION "The notification is sent when the user uploads configuration file successfully." ::= { dsfMIBNotifications 3 } dsfDownloadCfg NOTIFICATION-TYPE STATUS current DESCRIPTION "The notification is sent when the user downloads configuration file successfully." ::= { dsfMIBNotifications 4 } dsfSaveCfg NOTIFICATION-TYPE STATUS current DESCRIPTION "The notification is sent when the user saves configuration file successfully." ::= { dsfMIBNotifications 5 } -- ----------------------------------------------------------------------------- -- MIB Conformance statements -- ----------------------------------------------------------------------------- dsfCompliances OBJECT IDENTIFIER ::= { dsfMIBConformance 1 } dsfCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKSW-SYSTEM-FILE-MIB." MODULE MANDATORY-GROUPS { dsfBootInfoGroup, dsfCopyGroup, dsfCfgReplaceGroup, dsfIpSrcIfGroup, dsfClearCfgGroup } OBJECT dsfCopyType DESCRIPTION "It is compliant to support only a subset of values: 'localToLocal', 'localToTftpRemote', and 'tftpRemoteToLocal'." OBJECT dsfCfgReplaceSrcType DESCRIPTION "It is compliant to support only a subset of values: 'local' and 'tftpRemote'." OBJECT dsfIpTftpSrcIf MIN-ACCESS read-only DESCRIPTION "read-write access is not required." OBJECT dsfIpFtpSrcIf MIN-ACCESS read-only DESCRIPTION "This object is required when FTP and configurable source interface are supported." OBJECT dsfIpRcpSrcIf MIN-ACCESS read-only DESCRIPTION "This object is required when RCP and configurable source interface are supported." ::= { dsfCompliances 1 } dsfGroups OBJECT IDENTIFIER ::= { dsfMIBConformance 2 } dsfBootInfoGroup OBJECT-GROUP OBJECTS { dsfNextBootCfgUrl, dsfNextBootImageUrl, dsfCheckingBootImageCheck, dsfBootImageCheckResult, dsfBootImageUrl, dsfBootImageInWorking, dsfBootCfgFileUrl } STATUS current DESCRIPTION "A collection of objects providing information about the boot configuration and boot image." ::= { dsfGroups 1 } dsfCopyGroup OBJECT-GROUP OBJECTS { dsfCopyType, dsfCopySrcUrl, dsfCopyDstUrl, dsfCopyRemoteAddrType, dsfCopyRemoteAddr, dsfCopyUsrName, dsfCopyUsrPwd, dsfCopyRemoteTcpPort, dsfCopyVrfName, dsfCopyErrorStatus, dsfCopyRowStatus } STATUS current DESCRIPTION "A collection of objects providing information for the parameters of the copy function." ::= { dsfGroups 2 } dsfCfgReplaceGroup OBJECT-GROUP OBJECTS { dsfCfgReplaceSrcType, dsfCfgReplaceSrcUrl, dsfCfgReplaceRemoteAddrType, dsfCfgReplaceRemoteAddr, dsfCfgReplaceUsrName, dsfCfgReplaceUsrPwd, dsfCfgReplaceRemoteTcpPort, dsfCfgReplaceVrfName, dsfCfgReplaceErrorStatus, dsfCfgReplaceRowStatus } STATUS current DESCRIPTION "A collection of objects providing information for the parameters of the configure replace function." ::= { dsfGroups 3 } dsfIpSrcIfGroup OBJECT-GROUP OBJECTS { dsfIpTftpSrcIf, dsfIpFtpSrcIf, dsfIpRcpSrcIf } STATUS current DESCRIPTION "A collection of objects providing information about the interface whose IP address will be used as the source address for initiating TFTP/FTP/RCP packets." ::= { dsfGroups 4 } dsfClearCfgGroup OBJECT-GROUP OBJECTS { dsfClearRunCfg, dsfResetSystem } STATUS current DESCRIPTION "An object providing the clear function." ::= { dsfGroups 5 } END