You are here: > Technical documentation > SNMP > MIB > Cisco > CISCO-SM-FILE-DOWNLOAD-MIB
ActiveXperts Network Monitor 2019##AdminFavorites



The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing CISCO-SM-FILE-DOWNLOAD-MIB.

Vendor: Cisco
Mib: CISCO-SM-FILE-DOWNLOAD-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- *****************************************************************
-- File Download to Service Module MIB
-- April 2000, Jyotsna Gummaraju
-- May   2002, Subra Hegde
-- Copyright (c) 2000,2002 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
    Unsigned32                          FROM SNMPv2-SMI
    RowStatus, DisplayString		FROM SNMPv2-TC
    ciscoMgmt				FROM CISCO-SMI;
    LAST-UPDATED "200205210000Z"
    ORGANIZATION "Cisco Systems, Inc."
    CONTACT-INFO "Cisco Systems
                  Customer Service

                  Postal: 170 W Tasman Drive
                  San Jose, CA  95134

                  Tel: +1 800 553-NETS

	"The MIB module for downloading files to the Service 
	 Modules specifically designed for an architecture
	 containing a controller card and a group of sub-
	 ordinate cards or service modules (as in a Switch).

	 These files could contain information for performing
	 any specific operation on the modules. For example, 
	 they could contain information on statistics retrieval 
	 like, the statistics type, bucket interval etc. The 
	 format of these files is implementation dependent." 

    REVISION "200205210000Z"
        "Importing Unsigned32 from SNMPv2-SMI."
    REVISION   "200102020000Z"
        "Initial version of the MIB Module."
    ::= { ciscoMgmt 199 }

csFileMIBObjects  OBJECT IDENTIFIER ::= { ciscoSmFileDownloadMIB 1 }

csDefineFile	OBJECT IDENTIFIER ::= { csFileMIBObjects 1 }
csFileStatus	OBJECT IDENTIFIER ::= { csFileMIBObjects 2 }

--    Terminologies used:
--	 Switchover :
--	     In a redundant configuration, a standby card becomes
--	     active.
--	 Service Module(SM) :
--	     Service Module(SM) is defined as any Module which
--	     provides services such as ATM, Frame Relay or Voice
--	     in a Wide Area Network(WAN) switch.

-- File Parameter Table

csDefineFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CsDefineFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	"A table of files that have been downloaded on some non-
	volatile storage (For example: Hard Disk, Flash Disk etc)
	on the controller card by mechanisms such as ftp, tftp etc 
	and available for transfer to applicable service modules."
    ::= { csDefineFile 1 }

csDefineFileEntry OBJECT-TYPE
    SYNTAX      CsDefineFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	"Information for processing the file to be downloaded
         to service modules.

	 To process a file an application creates an entry in
	 this table. This entry contains information on the 
	 file name (csDefineFileName), file operation i.e whether 
         to download contents from the file specified or from 
	 contents saved in the database (csDefineFileOperation), 
	 slot number of the service module to download to 
	 (csDefineSlotNumber), etc. 
	 When the entry status (csDefineFileEntryStatus) in this 
	 table is 'active', the application uses csDefineFileOperation 
	 to perform the necessary operation on the file. 

	 csDefineFileStatus contains the overall status of file 
	 validation and download. Corresponding entries are created 
	 in csFileStatusTable that contains the slot-specific status 
	 of the download to service modules.
	 Entries may not be modified or deleted if csDefineFileStatus 
	 has a value of 'inProgress'. Further, the entries may not be 
	 deleted if csDefineFileEntryStatus is 'active' i.e if the 
	 current entry status is 'active', it has to be set to 
	 'notInService' before deletion. 
	 Deleting an entry in csDefineFileTable deletes any 
	 corresponding entries in csFileStatusTable.

	 Rows may not be created without explicitly setting
	 csDefineFileEntryStatus to either 'createAndGo' or
    INDEX       { csDefineFileIndex }
    ::= { csDefineFileTable 1 }

CsDefineFileEntry ::= SEQUENCE {
    csDefineFileIndex		Unsigned32,
    csDefineFileName		DisplayString,
    csDefineSlotNumber          Unsigned32,
    csDefineFileStatus		INTEGER,
    csDefineFileOperation	INTEGER,
    csDefineFileEntryStatus	RowStatus

csDefineFileIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
	"An integer to uniquely identify this entry."
    ::= { csDefineFileEntry 1 }

csDefineFileName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..255))
    MAX-ACCESS  read-create
    STATUS      current
	"The name of the file that has been downloaded on some 
	 non-volatile storage on the controller card.

	Explicit device or path names could be prepended 
	to the file name."
    ::= { csDefineFileEntry 2 }

csDefineSlotNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (1..32 | 100)
    MAX-ACCESS  read-create
    STATUS      current
	" An integer that specifies the slot number of  the
          service module to which the file needs to be downloaded.
	  A value of 100 would indicate that file needs to be 
	  downloaded to all applicable service modules."
    ::= { csDefineFileEntry 3 }

csDefineFileStatus OBJECT-TYPE
    SYNTAX      INTEGER { 
			miscError(10) }
    MAX-ACCESS  read-only
    STATUS      current
	"The overall status of the file validation and service module
	 download as surmised by the controller card. A more detailed 
	 status on service module downloads could be obtained in 
	 csFileStatusTable which stores download information specific 
	 to a particular slot. 

	inProgress - processing file validation/download request
	success - file has been validated and downloaded to all 
	          applicable service modules (as per value in 
	          csDefineSlotNumber) successfully.		 
	noMemory - failure due to insufficient dynamic memory
	fileOpenFailed - failure to open the file downloaded to some 
	                 non-volatile storage on the controller card. 
	fileReadFailed - failure to read the file downloaded to some 
			 non-volatile storage on the controller card.
	fileNotValid - file parsing/validation failed
	downloadFailed - download to service module failed
	aborted - download aborted due to switchover in a
		  redundant controller card configuration
	dbUpdateFailed - error in accessing/updating the database
	miscError - miscellaneous error due to lack of internal
                    resource (eg. error obtaining semaphore etc)
	This object is valid only after the entry status becomes 'active'.

	This object is especially useful when csDefineSlotNumber has a
	value of 100 signifying a download to all applicable service 
	modules. This object gives overall status of the download request 
	and hence, has a value of 'downloadFailed' even if one SM fails 
	the download. csFileStatusTable could be consulted for the purpose
	of obtaining a list of SMs that failed the download and their 
	corresponding reasons."
    DEFVAL	{ inProgress }
    ::= { csDefineFileEntry 4 }

csDefineFileOperation 	OBJECT-TYPE
    SYNTAX      INTEGER { sendToSMsOnly(1), updateAndSend(2) }
    MAX-ACCESS  read-create
    STATUS      current
	" An integer that defines the file operation: 
	sendToSMsOnly - send file contents saved in database to all 
			applicable service modules.
	updateAndSend - validate file, save contents into database
 			and send to all applicable service modules.

	The database here refers to either a disk or a RAM database that
	is saved during controller card switchovers. The file contents 
	are saved prior to service module download. In case of failure 
	to download to SMs,the operation could be re-initiated with 
	csDefineFileOperation having value sendToSMsOnly. This would 
	avoid unnecessary download of the same file to controller card 
	storage and file parsing/validation. "
    ::= { csDefineFileEntry 5 }	
csDefineFileEntryStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
	"The control that allows creation, modification, and 
	deletion of entries. For detailed rules see the DESCRIPTION
	for csDefineFileEntry."
    ::= { csDefineFileEntry 6 }

-- File status table per service module basis.

csFileStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CsFileStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	"A table containing status of the downloaded file for each 
	 applicable service module."
    ::= { csFileStatus 1 }

csFileStatusEntry OBJECT-TYPE
    SYNTAX      CsFileStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	"Status of file download to a particular service module.
	 Entries start to exist in this table only when csDefineFileStatus
	 has been set to 'inProgress'. The number of entries per 
	 csFileStatusTable is dependant on csDefineSlotNumber specified. 
	 If a valid slot number (between values 1 and 32) is specified then 
	 this table would contain only one entry for the slot number 
	 specified. If csDefineSlotNumber has value 100, signifying a 
	 download to all SMs, an entry exists in csFileStatusTable for each 
	 applicable service module on the shelf. Hence, an entry in 
	 csDefineFileTable could result in multiple entries in 
	 csFileStatusTable. Related entries can be associated due to the 
	 common index, csDefineFileIndex, in the tables."
    INDEX       { csDefineFileIndex, csFileStatusSlotNumber }
    ::= { csFileStatusTable 1 }

CsFileStatusEntry ::= SEQUENCE {
    	csFileStatusSlotNumber		Unsigned32,
    	csFileSlotState			INTEGER

csFileStatusSlotNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (1..32)
    MAX-ACCESS  not-accessible
    STATUS      current
	"Slot number that has an applicable service module."
    ::= { csFileStatusEntry 1 }

csFileSlotState	 OBJECT-TYPE
    MAX-ACCESS  read-only
    STATUS      current
	"The status of the file download to each applicable service
	 module. This status is specific to each slot.

	inProgress 	currently downloading file to service module
	notProcessed	not started downloading to service module
	success 	successfully downloaded file to service module
	fileOpenFailed  failed to open file on service module
	fileWriteFailed failed to write file on service module
	aborted		download was terminated (eg. due to switchover
			in a redundant configuration)
	miscFailure	miscellaneous error during file download"
    DEFVAL	{ notProcessed } 
    ::= { csFileStatusEntry 2 }

-- Notification Information

csFileMIBNotificationPrefix OBJECT IDENTIFIER ::= 
	{ ciscoSmFileDownloadMIB 2 }	

csFileMIBNotifications OBJECT IDENTIFIER ::=
	{ csFileMIBNotificationPrefix 0 }

-- Conformance Information

csFileMIBConformance OBJECT IDENTIFIER ::= 
	{ ciscoSmFileDownloadMIB 3 }

csFileMIBCompliances OBJECT IDENTIFIER ::=
	{ csFileMIBConformance 1 }
csFileMIBGroups      OBJECT IDENTIFIER ::=
	{ csFileMIBConformance 2 }

-- Compliance

	STATUS current
		"The compliance statement for entities that implement 
		 file downloads."
	MODULE	-- this module
	::= { csFileMIBCompliances 1 }

-- Units of Conformance

csDefineFileGroup OBJECT-GROUP
	STATUS current
		"File download management."
	::= { csFileMIBGroups 1 }

csFileStatusGroup OBJECT-GROUP
	STATUS current
		"File status management for applicable
		 service modules."
	::= { csFileMIBGroups 2 }