-- -----------------------------------------------------------------------------
-- MIB NAME : General Management Common mib
-- FILE NAME: General-mgmt.mib
-- DATE     : 2012/02/03
-- VERSION  : 1.01
-- PURPOSE  : To construct the MIB structure of general management information
--            for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:      
-- -----------------------------------------------------------------------------  
-- Description:
--  [New Object] 
-- 1. Add new node swGenExpansionModuleEquippedModulePortMode to show the expansion module 
--    port mode infomation of the current equipped module  
--  [Modification]
-- Notes: Requested by Lina Liu for expansion module of DXS-3600-32S     
--
-- Version 1.02, 2012/025/25, Lina Liu
-- -----------------------------------------------------------------------------  
-- Description:
--  [New Object] 
-- 1. Add new table swGenExpansionModuleMgmtTable to show the expansion module 
--    infomation of the device  
--  [Modification]
-- Notes: Requested by Lina Liu for expansion module of DXS-3600-32S     
--
-- Version 1.01, 2012/02/03, Lina Liu
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)     
--
-- Version 1.00, 2011/07/18, Green Zhu
-- This is the first formal version for universal MIB definition.
-- -----------------------------------------------------------------------------
GENERAL-MGMT-MIB  DEFINITIONS ::= BEGIN

    IMPORTS
        IpAddress, MODULE-IDENTITY,                        
        OBJECT-TYPE,Integer32               FROM SNMPv2-SMI
        TruthValue,RowStatus, MacAddress    FROM SNMPv2-TC
        DisplayString                       FROM RFC1213-MIB
        InetAddressType, InetAddress        FROM INET-ADDRESS-MIB
        dXS-3600-32S                        FROM SW3600PRIMGMT-MIB;
	
      swGeneralMgmtMIB MODULE-IDENTITY
            LAST-UPDATED "201205250000Z"
            ORGANIZATION "D-Link Corp."
            CONTACT-INFO
                "http://support.dlink.com"
            DESCRIPTION
                    "The structure of general management information for enterprise."
        ::= {  dXS-3600-32S 20 }
        
-- -----------------------------------------------------------------------------
-- Textual Conventions
-- -----------------------------------------------------------------------------
	Ipv6Address ::= TEXTUAL-CONVENTION
	        DISPLAY-HINT "2x:"
	        STATUS       current
	        DESCRIPTION
	                "This data type is used to model IPv6 addresses.
	                This is a binary string of 16 octets in network
	                byte-order."
	        SYNTAX       OCTET STRING (SIZE (16))
	
	UnitList                ::= OCTET STRING(SIZE (0..3))        
  
    swGenMgmtNotifications			OBJECT IDENTIFIER ::= { swGeneralMgmtMIB 0 }	   
    swGenMgmtMIBObjects				OBJECT IDENTIFIER ::= { swGeneralMgmtMIB 1 }
   	swGenMgmtGroup      			OBJECT IDENTIFIER ::= { swGenMgmtMIBObjects 1 }

-- -----------------------------------------------------------------------------
-- swGenFileSystemMgmtMgmt
-- -----------------------------------------------------------------------------
    swGenFileSystemMgmt      	OBJECT IDENTIFIER ::= { swGenMgmtGroup 1 }

    swGenFileSystemMgmtTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwGenFileSystemMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of MIB File System Basic Configuration entries supported
             by the file update of this agent."
        ::= { swGenFileSystemMgmt 1 }

    swGenFileSystemMgmtEntry OBJECT-TYPE
        SYNTAX  SwGenFileSystemMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A File System basic configuration entry that contains objects
             describing a particular MIB supported by this agent."
        INDEX   { swGenFileSystemMgmtIndex }
        ::= { swGenFileSystemMgmtTable 1 }

    SwGenFileSystemMgmtEntry ::=
        SEQUENCE {
                swGenFileSystemMgmtIndex
                        INTEGER,
                swGenFileSystemMgmtDscr
                        DisplayString,
                swGenFileSystemMgmtServerAddrType
                        InetAddressType,
                swGenFileSystemMgmtServerAddr
                        InetAddress,                                                                                         
                swGenFileSystemMgmtInterfaceName
                        DisplayString,     
                swGenFileSystemMgmtTranserProtocol
                        INTEGER,         
                swGenFileSystemMgmtUserName
                        DisplayString,   
                swGenFileSystemMgmtPassword
                        DisplayString,                                             
                swGenFileSystemMgmtServerFileName
                        DisplayString,
                swGenFileSystemMgmtDeviceFileName
                        DisplayString,
                swGenFileSystemMgmtLoadType
                        INTEGER,            
                swGenFileSystemMgmtCtrl
                        INTEGER
        }

    swGenFileSystemMgmtIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS not-accessible
        STATUS  current
        DESCRIPTION
        "The table index for the file entry.
         This object describes the file type.
             runtime-code (1),
             cfg-file (2),
             log-file (3)"
        ::= { swGenFileSystemMgmtEntry 1 }

    swGenFileSystemMgmtDscr OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..64))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The description of the software file purpose in this entry."
        ::= { swGenFileSystemMgmtEntry 2 }

    swGenFileSystemMgmtServerAddrType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The address type where the file to be downloaded is located, or the address type
            where the file will be uploaded to."
        ::= {  swGenFileSystemMgmtEntry 3 }

    swGenFileSystemMgmtServerAddr OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The address where the file is to be downloaded from or uploaded to."
        ::= {  swGenFileSystemMgmtEntry 4 }

     swGenFileSystemMgmtInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..12))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "This node is used to specify the interface name when swGenFileSystemMgmtServerAddr
              is the local link address."
        ::= {  swGenFileSystemMgmtEntry 5 }

    swGenFileSystemMgmtTranserProtocol OBJECT-TYPE
        SYNTAX  INTEGER{
                    tftp(1),
                    ftp(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The file transfer protocol."
        ::= {  swGenFileSystemMgmtEntry 10 }

     swGenFileSystemMgmtUserName OBJECT-TYPE
        SYNTAX  DisplayString 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The user name to access the server."
        ::= {  swGenFileSystemMgmtEntry 11 }

      swGenFileSystemMgmtPassword OBJECT-TYPE
        SYNTAX  DisplayString 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The password to access the server."
        ::= {  swGenFileSystemMgmtEntry 12 }

    swGenFileSystemMgmtServerFileName OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The name of the file to be downloaded from or uploaded to the server."
        ::= { swGenFileSystemMgmtEntry 20 }
 
    swGenFileSystemMgmtDeviceFileName OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The name of the file to be downloaded to the device, or uploaded from the
            device. When downloading or uploading, the swGenFileSystemMgmtServerFileName object must also be set."
        ::= { swGenFileSystemMgmtEntry 21 }
        
	swGenFileSystemMgmtLoadType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    upload(2),
                    download(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "This object allows the user to select a download or upload function for the file.

					Note:
					For systems that do not support changes to this object, setting a value for
					this object will cause the system to return a bad-value error message."
        ::= { swGenFileSystemMgmtEntry 30 }      

     swGenFileSystemMgmtCtrl OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    inactive(2),
                    start(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object allows the user to download runtime software. The settings will take 
            effect when the system restarts. See Note (1) below
				Note 1:
				For systems which do not support value changes to this object,
				setting these values will cause the system to return a bad-value error message.
			start (3) - activate firmware."
        ::= { swGenFileSystemMgmtEntry 100 }	 
        
-- -----------------------------------------------------------------------------      
       
    swGenFileSystemBootupFileMgmtTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwGenFileSystemBootupFileMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the information about the bootup files."
        ::= { swGenMgmtGroup 5 }

    swGenFileSystemBootupFileMgmtEntry OBJECT-TYPE
        SYNTAX  SwGenFileSystemBootupFileMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about the bootup files for each unit of the switch stack."
        INDEX   { swGenMgmtUnitID }
        ::= { swGenFileSystemBootupFileMgmtTable 1 }

    SwGenFileSystemBootupFileMgmtEntry ::=
        SEQUENCE {
                swGenMgmtUnitID
                        INTEGER,
                swGenFileSystemBootImage
                        DisplayString,                     
                swGenFileSystemBootConfig
                        DisplayString,       
				swGenFileSystemActiveConfigIncrement
						TruthValue,                        
                swGenFileSystemActiveConfig
                        DisplayString
				}

    swGenMgmtUnitID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS   not-accessible
        STATUS  current
        DESCRIPTION
			"The object indicates the unit ID."
        ::= { swGenFileSystemBootupFileMgmtEntry 1 }

      swGenFileSystemBootImage OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When displayed, it shows the current bootup image file name.
            When set, the bootup image file with the set name will be set as the bootup image."
        ::= { swGenFileSystemBootupFileMgmtEntry 3 }

      swGenFileSystemBootConfig OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When displayed, it shows the current bootup configuration file name.
            When set, the configuration file with the set name will be set as the bootup configuration."
        ::= { swGenFileSystemBootupFileMgmtEntry 5 }

      swGenFileSystemActiveConfigIncrement OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "If increment is specified, then the existing configuration will not be cleared before applying
             of the new configuration. If it is not specified, then the existing configuration will be cleared
             before applying of the new configuration.
             True : keep valid
             False : erase."
       	 ::= { swGenFileSystemBootupFileMgmtEntry 10 }    
       	 
     swGenFileSystemActiveConfig OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When displayed, it shows NULL.
            When set, the configuration file with the set name will be active at once, but the set name
            will not be set as the bootup configuration."
        ::= { swGenFileSystemBootupFileMgmtEntry 11 }  
-- -----------------------------------------------------------------------------      
       
    swGenExpansionModuleMgmtTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwGenExpansionModuleMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the information about the Boot-up Expansion 
            Module and current Expansion Module."
        ::= { swGenMgmtGroup 8 }

    swGenExpansionModuleMgmtEntry OBJECT-TYPE
        SYNTAX  SwGenExpansionModuleMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about the bootup files for each unit of the switch stack."
        INDEX   { 
        	swGenMgmtUnitID, 
        	swGenExpansionModuleMgmtSlotID		
         }
        ::= { swGenExpansionModuleMgmtTable 1 }

    SwGenExpansionModuleMgmtEntry ::=
        SEQUENCE {
                swGenExpansionModuleMgmtSlotID
                        INTEGER, 
                swGenExpansionModuleMgmtBootup
                        DisplayString,                     
                swGenExpansionModuleMgmtCurrent
                        DisplayString,
                swGenExpansionModuleBootupPortModeInfo
                		OCTET STRING,
                swGenExpansionModuleCurrentPortModeMGT
                		OCTET STRING,
             	swGenExpansionModuleEquippedModulePortMode   
             			OCTET STRING
             		

        }

       swGenExpansionModuleMgmtSlotID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS   not-accessible
        STATUS  current
        DESCRIPTION
			"The object indicates the expansion module slot ID."
        ::= { swGenExpansionModuleMgmtEntry 2 }


      swGenExpansionModuleMgmtBootup OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "It displays the expansion module name which the device boot up with. 
            if no expansion module exist when boot up, it displays 'none'."
        ::= { swGenExpansionModuleMgmtEntry 3 }

      swGenExpansionModuleMgmtCurrent OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "It displays the current exsit expansion module name. 
            if no expansion module exist, it displays 'none'."
        ::= { swGenExpansionModuleMgmtEntry 4 }
           
  swGenExpansionModuleBootupPortModeInfo OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..127))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
         "This object is a set of port mode for boot up DXS-3600-EM-4QXS module indications.	 
	 Every bytes are presented to a port of the DXS-3600-EM-4QXS, if the module
	 is not DXS-3600-EM-4QXS, cannot get any value. 
	 
	 
	 Port mode:
	 01 = 4*10G.
	 02 = 40G."
       ::= { swGenExpansionModuleMgmtEntry 5 }
       
  swGenExpansionModuleCurrentPortModeMGT OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..127))
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
         "This object is a set of port mode for current insert DXS-3600-EM-4QXS 
         module indications. Every bytes are presented to a port of 
         the DXS-3600-EM-4QXS, it will not write to Equipped module until excute save configuration. 
	 
	 
	 Port mode:
	 01 = 4*10G.
	 02 = 40G."
       ::= { swGenExpansionModuleMgmtEntry 6 }
        
  swGenExpansionModuleEquippedModulePortMode OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..127))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
         "This object is a set of port mode for current insert DXS-3600-EM-4QXS 
         module indications. Every bytes are presented to a port of 
         the DXS-3600-EM-4QXS, if the module boot up with and  current insert 
         is not DXS-3600-EM-4QXS,  cannot set the port mode management value to Equipped module. 
	 
	 
	 Port mode:
	 01 = 4*10G.
	 02 = 40G."
       ::= { swGenExpansionModuleMgmtEntry 7 }
      
-- -----------------------------------------------------------------------------        
	swGenMgmtReboot OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    start(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Used to restart the switch."
        ::= {  swGenMgmtGroup 10  }
        
-- -----------------------------------------------------------------------------
    swGenMgmtSaveConfigFileName OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The name of the configuration file that will be saved to the device.
             When swGenMgmtSave is set to configuration(2):
                If the swGenMgmtSaveConfigFileName is no NULL, the configuration file will be saved to the set file name.
                If NULL, the configuration file will be saved to the start-up configuration file."
        ::= { swGenMgmtGroup 11 }

	swGenMgmtSave OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                configuration(2),
                log(3),
                all(4)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This indicates the method of saving information to the NV-RAM of the device.
           	other(1) - No action.
           	configuration(2) - Save configuration.
           	log(3) - Save log.
           	all(4) - Save both ( active configuration and log)."
        ::= {  swGenMgmtGroup 12  }
 
END       	 
