-- ***************************************************************************
-- ***************************************************************************
--
-- File         : imm.mib
-- Description  : Integrated Management Module mib for SNMP
-- By           : IBM
-- Version      : 1.4
-- Date         : October 28, 2010
--
--
-- Copyright (c) 2007 IBM  All Rights Reserved.
--
-- 
-- Contains MIB description for: 
--   This MIB is to be used to provide configuration support of IMM as well as monitoring support 
--   for the system.
-- ***************************************************************************
-- ***************************************************************************
-- ***************************************************************************
-- Revisions: 
-- ***************************************************************************
        IMM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            OBJECT-TYPE                          FROM RFC-1212
            enterprises                          FROM RFC1155-SMI
            -- DisplayString                        FROM RFC1213-MIB
            IpAddress                            FROM RFC1155-SMI 
            DisplayString					     FROM RFC1213-MIB
            TRAP-TYPE                            FROM RFC-1215;

            InetAddressIPv6 ::= TEXTUAL-CONVENTION
                        DISPLAY-HINT "02x:02x:02x:02x:02x:02x:02x:02x"
                        STATUS       current
                        DESCRIPTION
                        "Represents an IPv6 network address. Since MIB browsers
                         may require different formats, the address is
                         expected to be the 16 byte address in network-byte order,
                         and shortened formats such as 0::0 are not accepted in SET
                         operations. Two common examples are:

                         The NetSNMP command line will accept SET requests like:
                           snmpset -v1 -cprivate <host> s 2001:00:00:00:FFFF:CCC4:BBB2:AAA6

                         Other MIB browsers may require the SET request value to be formatted as:
                           # 0x20 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xCC 0xC4 0xBB 0xB2 0xAA 0xA6"
                        SYNTAX       OCTET STRING (SIZE (16))
        -- IBM enterprise group  
        ibm         OBJECT IDENTIFIER ::=   { enterprises 2 }

        -- IBM products group
        ibmAgents      OBJECT IDENTIFIER ::=   { ibm 3 }

        -- IBM e-Server Advanced System Management Support Processor(SP) agent group
        netfinitySupportProcessorAgent OBJECT IDENTIFIER ::= { ibmAgents 51 }

        -- IBM integrated Management Module
        ibmIntegratedManagementModuleMIB     OBJECT IDENTIFIER ::= { netfinitySupportProcessorAgent 3 }

-- ***************************************************************************
-- Start: Define groups of objects within the ibmRemoteSupSnmpMIB
-- ***************************************************************************
  --This group of objects provides the various environmental monitors for the
  -- local system and the IMM
  monitors OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 1 } 

  --This group of objects provides the error log objects for the IMM
  errorLogs OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 2 }
  
  --This group of objects provides configuration functions for the IMM
  configureSP     OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 3 }

  --This group of objects provides configuration functions for the system(server)
  generalSystemSettings  OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 4 }

  --This group of objects provides configuration functions for system power
  systemPower  OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 5 }
  
  --This group of objects provides functions to boot the IMM and system
  restartReset      OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 6 }
  
  --This group of objects provides functions to update the IMM firmware
  firmwareUpdate    OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 7 }

-- ****************************************************************************
--  Monitors
-- ****************************************************************************   
    -- ************************************************************************
    -- Temperature
    -- ************************************************************************
    temperature OBJECT IDENTIFIER ::= { monitors 1 }  
     tempNumber 		OBJECT-TYPE
         SYNTAX			Gauge
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The present number of rows in the temperature table."
         ::= { temperature 1 }

     tempTable 			OBJECT-TYPE
         SYNTAX			SEQUENCE OF TempEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"This table contains temperature measurement information."
         ::= { temperature 2 }

     tempEntry 			OBJECT-TYPE
         SYNTAX			TempEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"Each row contains parameters related to a temperature measurement channel."
         INDEX			{ tempIndex }
         ::= { tempTable 1 }

     TempEntry ::=
         SEQUENCE {
	     tempIndex		INTEGER,
	     tempDescr		DisplayString,
	     tempReading	INTEGER,  
   	     tempNominalReading	INTEGER,
	     tempNonRecovLimitHigh	INTEGER,
	     tempCritLimitHigh	INTEGER,
	     tempNonCritLimitHigh INTEGER,
	     tempNonRecovLimitLow	INTEGER,
	     tempCritLimitLow	INTEGER,
	     tempNonCritLimitLow INTEGER
         }

     tempIndex 			OBJECT-TYPE
         SYNTAX			INTEGER
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"This column is used to identify a particular 
				temperature measurement channel."
         ::= { tempEntry 1 }

     tempDescr 			OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only

         STATUS			mandatory
         DESCRIPTION	"A description of the temperature measurement 
				channel."
         ::= { tempEntry 2 }

     tempReading 		OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The measured temperature."
         ::= { tempEntry 3 }
      
     tempNominalReading	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The nominal temperature, if available."
         ::= { tempEntry 4 }

     tempNonRecovLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The non-recoverable limit for the measured temperature. If 
				the measured value rises above this limit a trap is sent."
         ::= { tempEntry 5}

     tempCritLimitHigh    	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The critical limit for the measured temperature. If 
				the measured value rises above this limit a trap is sent."
         ::= { tempEntry 6}

     tempNonCritLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The non-critical limit for the measured temperature. If 
				the measured value rises above this limit a trap is sent."
         ::= { tempEntry 7}

     tempNonRecovLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The non-recoverable limit for the measured temperature. If 
				the measured value falls below this limit a trap is sent."
         ::= { tempEntry 8}

     tempCritLimitLow    	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The critical limit for the measured temperature. If 
				the measured value falls below  this limit a trap is sent."
         ::= { tempEntry 9}

     tempNonCritLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Degrees Celsius"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The non-critical limit for the measured temperature. If 
				the measured value falls below  this limit a trap is sent."
         ::= { tempEntry 10}

    -- ************************************************************************
    -- Voltages
    -- ************************************************************************
    voltage OBJECT IDENTIFIER ::= { monitors 2 } 
    --------------------------------------------------------------------------------
     voltNumber 		OBJECT-TYPE
         SYNTAX			Gauge
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The present number of rows in the voltage table."
         ::= { voltage 1 }

     voltTable 			OBJECT-TYPE
         SYNTAX			SEQUENCE OF VoltEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"This table contains voltage measurement information."
         ::= { voltage 2 }

     voltEntry 			OBJECT-TYPE
         SYNTAX			VoltEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"Each row contains parameters related to a 
				voltage measurement channel."
         INDEX			{ voltIndex }
         ::= { voltTable 1 }

     VoltEntry ::=
         SEQUENCE {
	     voltIndex		INTEGER,
	     voltDescr		DisplayString,
	     voltReading	INTEGER,
	     voltNominalReading INTEGER,
	     voltNonRecovLimitHigh	INTEGER,
	     voltCritLimitHigh	INTEGER,
	     voltNonCritLimitHigh  	INTEGER,
	     voltNonRecovLimitLow	INTEGER,
	     voltCritLimitLow	   	INTEGER,
	     voltNonCritLimitLow	INTEGER			
         }

     voltIndex 			OBJECT-TYPE
         SYNTAX			INTEGER
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"This column is used to identify a particular 
				voltage	measurement channel."
         ::= { voltEntry 1 }

     voltDescr 			OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"A description of the voltage measurement channel."
         ::= { voltEntry 2 }

     voltReading		OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The measured voltage."
         ::= { voltEntry 3 }
      
     voltNominalReading	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The nominal voltage, if available."
         ::= { voltEntry 4 }

     voltNonRecovLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The high non-recoverable limit for the measured voltage. If the 
				measured value falls above this limit a trap is sent."
         ::= { voltEntry 5 }

     voltCritLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The high critical limit for the measured voltage. If the 
				measured value rises above this limit a trap is sent."
         ::= { voltEntry 6 }
         
     voltNonCritLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The high non-critical limit for the measured voltage. If the 
				measured value rises above this limit a trap is sent."
         ::= { voltEntry 7 } 
         
     voltNonRecovLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The low non-recoverable limit for the measured voltage. If the 
				measured value falls below this limit a trap is sent."
         ::= { voltEntry 8 }

     voltCritLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The low critical limit for the measured voltage. If the 
				measured value falls below this limit a trap is sent."
         ::= { voltEntry 9 }
         
     voltNonCritLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"Millivolts"
         ACCESS			read-write
         STATUS			mandatory
         DESCRIPTION	"The low non-critical limit for the measured voltage. If the 
				measured value falls below this limit a trap is sent."
         ::= { voltEntry 10 }
			
			
    -- ************************************************************************
    -- Fans
    -- ************************************************************************
    fans OBJECT IDENTIFIER ::= { monitors 3 } 
     fanNumber 		OBJECT-TYPE
         SYNTAX			Gauge
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The present number of rows in the fan table."
         ::= { fans 1 }

     fanTable 			OBJECT-TYPE
         SYNTAX			SEQUENCE OF FanEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"This table contains fan information."
         ::= { fans 2 }

     fanEntry 			OBJECT-TYPE
         SYNTAX			FanEntry
         ACCESS			not-accessible
         STATUS			mandatory
         DESCRIPTION	"Each row contains parameters related to a fan." 
         INDEX			{ fanIndex }
         ::= { fanTable 1 }

     FanEntry ::=
         SEQUENCE {
	     fanIndex		INTEGER,
	     fanDescr		DisplayString,
	     fanSpeed	    OCTET STRING,
	     fanNonRecovLimitHigh	INTEGER,
	     fanCritLimitHigh	INTEGER,
	     fanNonCritLimitHigh  	INTEGER,
	     fanNonRecovLimitLow	INTEGER,
	     fanCritLimitLow	   	INTEGER,
	     fanNonCritLimitLow	INTEGER
         }

     fanIndex 			OBJECT-TYPE
         SYNTAX			INTEGER
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"This column is used to identify a particular fan."
         ::= { fanEntry 1 }
         
     fanDescr 			OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"A description of the fan measurement channel."
         ::= { fanEntry 2 }


     fanSpeed    OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Fan  speed expressed in percent(%) of maximum RPM. 
                  An octet string expressed as 'ddd% of maximum' where:
                  d is a decimal digit or blank space for a leading zero.
                  If the fan is determined not to be running or 
                  the fan speed cannot be determined, the string will
                  indicate 'Offline'."   
                  ::= { fanEntry 3 }

     fanNonRecovLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The high non-recoverable limit for the measured fan. If the 
				measured value falls above this limit a trap is sent."
         ::= { fanEntry 4 }

     fanCritLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The high critical limit for the measured fan. If the 
				measured value rises above this limit a trap is sent."
         ::= { fanEntry 5 }

     fanNonCritLimitHigh	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The high non-critical limit for the measured fan. If the 
				measured value rises above this limit a trap is sent."
         ::= { fanEntry 6 } 

     fanNonRecovLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The low non-recoverable limit for the measured fan. If the 
				measured value falls below this limit a trap is sent."
         ::= { fanEntry 7 }

     fanCritLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The low critical limit for the measured fan. If the 
				measured value falls below this limit a trap is sent."
         ::= { fanEntry 8 }

     fanNonCritLimitLow	OBJECT-TYPE
         SYNTAX			INTEGER
         UNITS			"RPM"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The low non-critical limit for the measured fan. If the 
				measured value falls below this limit a trap is sent."
         ::= { fanEntry 9 }

    -- ************************************************************************
    -- System Health 
    -- ************************************************************************
    systemHealth OBJECT IDENTIFIER ::= { monitors 4 }
    
     -- ***********************************************************************
     -- System Health Status
     -- ***********************************************************************
     systemHealthStat  OBJECT-TYPE
                  SYNTAX  INTEGER {
                                    nonRecoverable(0),
                                    critical(2),
                                    nonCritical(4),
                                    normal(255)
                                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Indicates status of system health for the 
                  system in which the IMM resides. 
                  Value of 'nonRecoverable' indicates a severe error has occurred 
                  and the system may not be functioning. A value of 
                  'critical' indicates that a error has occurred but 
                  the system is currently functioning properly. A value of 
 		          'nonCritical' indicates that a condition has occurred 
 		          that may change the state of the system in the future but currently 
 	    	      the system is working properly. A value of 
                  'normal' indicates that the system is operating normally."
                  ::= { systemHealth 1 }
                  
     -- ***********************************************************************
     -- System Health Summary
     -- ***********************************************************************
     systemHealthSummaryTable OBJECT-TYPE
                   SYNTAX  SEQUENCE OF SystemHealthSummaryEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                   "Table of System Health summary. Contains more detailed 
                   information about the reasons for the overall system 
                   health status."
                   ::= { systemHealth 2 }
   
     systemHealthSummaryEntry OBJECT-TYPE
                   SYNTAX SystemHealthSummaryEntry 
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                   "System Health Summary entry"
                   INDEX { systemHealthSummaryIndex }
                   ::= { systemHealthSummaryTable 1 }
                   
   
     SystemHealthSummaryEntry ::= SEQUENCE { 
                 systemHealthSummaryIndex INTEGER,
                 systemHealthSummarySeverity OCTET STRING,
                 systemHealthSummaryDescription OCTET STRING
     }
   
   
     systemHealthSummaryIndex  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "System health summary index."
                 ::= { systemHealthSummaryEntry 1 }
   
     systemHealthSummarySeverity  OBJECT-TYPE
                 SYNTAX  OCTET STRING
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "System health summary severity."
                 ::= { systemHealthSummaryEntry 2 }
   
     systemHealthSummaryDescription  OBJECT-TYPE
                 SYNTAX  OCTET STRING
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "System health summary description."
                 ::= { systemHealthSummaryEntry 3 }

     -- ***********************************************************************
     -- Vital Product Data(VPD) information 
     -- ***********************************************************************
     vpdInformation  OBJECT IDENTIFIER ::= { monitors 5 } 
     
     -- ***********************************************************************
      -- IMM VPD
      -- ***********************************************************************

      immVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF IMMVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of IMM VPD."
                    ::= { vpdInformation 1 }

      immVpdEntry OBJECT-TYPE
                    SYNTAX IMMVpdEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "iMBC VPD entry."
                    INDEX { immVpdIndex }
                    ::= { immVpdTable 1 }


      IMMVpdEntry ::= SEQUENCE {
                  immVpdIndex INTEGER,
		  immVpdType OCTET STRING,
                  immVpdVersionString OCTET STRING,
		  immVpdReleaseDate OCTET STRING
      }


      immVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM VPD index."
                  ::= { immVpdEntry 1 }

      immVpdType  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM VPD Type. Indicates either Bios or Diag or spFimware VPD"
                  ::= { immVpdEntry 2 }

      immVpdVersionString  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM VPD Version Number of the software(Bios/Diag/spFirmware)."
                  ::= { immVpdEntry 3 }

      immVpdReleaseDate  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM VPD Release Date of when the software(Bios/Diag/spFirmware) was released."
                  ::= { immVpdEntry 4 }


      -- ***********************************************************************
      -- Machine Level VPD 
      -- ***********************************************************************
      machineVpd OBJECT IDENTIFIER ::= { vpdInformation 2 }

       
       machineLevelVpd OBJECT IDENTIFIER ::= { machineVpd 1 }
        
        machineLevelVpdMachineType OBJECT-TYPE
                      SYNTAX  OCTET STRING 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Machine type VPD information." 
                      ::= { machineLevelVpd 1 }
                      
        machineLevelVpdMachineModel OBJECT-TYPE
                      SYNTAX  OCTET STRING 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Machine model VPD information." 
                      ::= { machineLevelVpd 2 }
                      
        machineLevelSerialNumber OBJECT-TYPE
                      SYNTAX  OCTET STRING 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Machine serial number VPD information." 
                      ::= { machineLevelVpd 3 }
                      
        machineLevelUUID OBJECT-TYPE
                      SYNTAX  OCTET STRING 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Machine UUID(Universal Unique ID information)." 
                      ::= { machineLevelVpd 4 }

        machineLevelProductName OBJECT-TYPE
                      SYNTAX  OCTET STRING 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Machine Product Name (e.g. System x3650 M2)." 
                      ::= { machineLevelVpd 5 }
      -- ***********************************************************************
      -- System Component Level VPD 
      -- ***********************************************************************
      systemComponentLevelVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF SystemComponentLevelVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of the system component hardware VPD information.  View as a 
                    table and not as individual entries for consistent results."
                    ::= { vpdInformation 17 }

      systemComponentLevelVpdEntry OBJECT-TYPE
                    SYNTAX SystemComponentLevelVpdEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "System component hardware VPD entry.  View as a table and not as 
                    individual entries for consistent results."
                    INDEX { componentLevelVpdIndex }
                    ::= { systemComponentLevelVpdTable 1 }

      SystemComponentLevelVpdEntry ::= SEQUENCE { 
                  componentLevelVpdIndex INTEGER,
                  componentLevelVpdFruNumber OCTET STRING,		  
                  componentLevelVpdFruName OCTET STRING,
                  componentLevelVpdSerialNumber OCTET STRING,
                  componentLevelVpdManufacturingId OCTET STRING
      }

      componentLevelVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD index.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemComponentLevelVpdEntry 1 }

      componentLevelVpdFruNumber  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD FRU number.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemComponentLevelVpdEntry 2 }

      componentLevelVpdFruName  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD FRU name.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemComponentLevelVpdEntry 3 }
                  
      componentLevelVpdSerialNumber  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD serial number.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemComponentLevelVpdEntry 4 }
                  
      componentLevelVpdManufacturingId  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD manufacturing ID.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemComponentLevelVpdEntry 5 }
                  
      -- ***********************************************************************
      -- System Component Level VPD Tracking log  
      -- ***********************************************************************
      systemComponentLevelVpdTrackingTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF SystemComponentLevelVpdTrackingEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of system component hardware VPD tracking activity log.  View as
                    a table and not as individual entries for consistent results."
                    ::= { vpdInformation 18 }

      systemComponentLevelVpdTrackingEntry OBJECT-TYPE
                    SYNTAX SystemComponentLevelVpdTrackingEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "System component hardware VPD tracking activity log entry.  View as a
                    table and not as individual entries for consistent results."
                    INDEX { componentLevelVpdTrackingIndex }
                    ::= { systemComponentLevelVpdTrackingTable 1 }

      SystemComponentLevelVpdTrackingEntry ::= SEQUENCE { 
                  componentLevelVpdTrackingIndex INTEGER,
                  componentLevelVpdTrackingFruNumber OCTET STRING,
                  componentLevelVpdTrackingFruName OCTET STRING,
                  componentLevelVpdTrackingSerialNumber OCTET STRING,
                  componentLevelVpdTrackingManufacturingId OCTET STRING,
                  componentLevelVpdTrackingAction OCTET STRING,
                  componentLevelVpdTrackingTimestamp OCTET STRING
                  
      }

      componentLevelVpdTrackingIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log index.  View as a table
                  and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 1 }

      componentLevelVpdTrackingFruNumber  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log FRU number.  View as a
                  table and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 2 }

      componentLevelVpdTrackingFruName  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log FRU name.  View as a
                  table and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 3 }
                  
      componentLevelVpdTrackingSerialNumber  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log serial number.  View as
                  a table and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 4 }
                  
      componentLevelVpdTrackingManufacturingId  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log manufacturing ID.  View
                  as a table and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 5 }
                  
      componentLevelVpdTrackingAction  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log action(added/removed).
                  View as a table and not as individual entries for consistent results."
                  ::= {systemComponentLevelVpdTrackingEntry 6 }
                  
      componentLevelVpdTrackingTimestamp  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System component level VPD tracking activity log timestanp.
                  View as a table and not as individual entries for consistent results."
                  ::= { systemComponentLevelVpdTrackingEntry 7 }

      -- ********************************************************************************
      -- Host MAC Address VPD
      -- ********************************************************************************

      hostMACAddressTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF HostMACAddressEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of MAC addresses of the host NICs.
                    For consistent results, view as a table and not as individual entries."
                    ::= { vpdInformation 19 }

      hostMACAddressEntry OBJECT-TYPE
                    SYNTAX HostMACAddressEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Host MAC address entry.  
                    For consistent results, view as a table and not as individual entries."
                    INDEX { hostMACAddressIndex }
                    ::= { hostMACAddressTable 1 }

      HostMACAddressEntry ::= SEQUENCE {
                  hostMACAddressIndex INTEGER,
                  hostMACAddressDescription   DisplayString,
                  hostMACAddress              OCTET STRING}

      hostMACAddressIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Host MAC address index.  View as a table and not as individual
                  entries for consistent results."
                  ::= { hostMACAddressEntry 1 }

      hostMACAddressDescription  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Description of the MAC Address entry.   View as a table and not as 
                  individual entries for consistent results."
                  ::= { hostMACAddressEntry 2 }

      hostMACAddress  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Host MAC address must be a hexadecimal value between 000000000000 - FFFFFFFFFFFF.  
                  This value must be in the form XX:XX:XX:XX:XX:XX  View as a table and not as 
                  individual entries for consistent results."
                  ::= { hostMACAddressEntry 3 }

      -- ***********************************************************************
      -- System CPU VPD 
      -- ***********************************************************************
      systemCPUVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF SystemCPUVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of the system CPU VPD information.  View as a 
                    table and not as individual entries for consistent results."
                    ::= { vpdInformation 20 }

      systemCPUVpdEntry OBJECT-TYPE
                    SYNTAX SystemCPUVpdEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "System CPU VPD entry.  View as a table and not as 
                    individual entries for consistent results."
                    INDEX { cpuVpdIndex }
                    ::= { systemCPUVpdTable 1 }

      SystemCPUVpdEntry ::= SEQUENCE { 
                  cpuVpdIndex INTEGER,
                  cpuVpdDescription DisplayString,
                  cpuVpdSpeed INTEGER,		  
                  cpuVpdIdentifier DisplayString,
                  cpuVpdType DisplayString,
                  cpuVpdFamily DisplayString,
                  cpuVpdCores INTEGER,
                  cpuVpdThreads INTEGER,
                  cpuVpdVoltage INTEGER,
                  cpuVpdDataWidth INTEGER }

      cpuVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System CPU level VPD index.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemCPUVpdEntry 1 }

      cpuVpdDescription  OBJECT-TYPE
                  SYNTAX DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System CPU Description.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 2 }         


      cpuVpdSpeed  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu speed in MHz.   View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 3 }

      cpuVpdIdentifier  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System CPU Identifier.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 4 }
                  
      cpuVpdType  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu Type.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 5 }
                  
      cpuVpdFamily  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu Family.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 6 }
                  
      cpuVpdCores  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu number of cores.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 7 }
                  
      cpuVpdThreads  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu number of threads.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 8 }
                  
      cpuVpdVoltage  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu voltage in millivolts (1125 = 1.125 volts).  
                  View as a table and not as individual entries for consistent 
                  results."
                  ::= { systemCPUVpdEntry 9 }
                  
      cpuVpdDataWidth  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu data width in bits.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 10 }
                  
      -- ***********************************************************************
      -- System Memory VPD 
      -- ***********************************************************************
      systemMemoryVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF SystemMemoryVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of the system Memory VPD information.  View as a 
                    table and not as individual entries for consistent results."
                    ::= { vpdInformation 21 }

      systemMemoryVpdEntry OBJECT-TYPE
                    SYNTAX SystemMemoryVpdEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "System Memory VPD entry.  View as a table and not as 
                    individual entries for consistent results."
                    INDEX { memoryVpdIndex }
                    ::= { systemMemoryVpdTable 1 }

      SystemMemoryVpdEntry ::= SEQUENCE { 
                  memoryVpdIndex INTEGER,
                  memoryVpdDescription DisplayString,		  
                  memoryVpdPartNumber DisplayString,
                  memoryVpdFRUSerialNumber DisplayString,
                  memoryVpdManufactureDate DisplayString,
                  memoryVpdType DisplayString,
                  memoryVpdSize INTEGER }

      memoryVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System Memory level VPD index.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemMemoryVpdEntry 1 }

      memoryVpdDescription  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System memory Description (e.g. DIMM 1).   View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 2 }

      memoryVpdPartNumber  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System Memory Part Number.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 3 }
                  
      memoryVpdFRUSerialNumber  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System memory Serial Number.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 4 }
                  
      memoryVpdManufactureDate  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System memory Manufacture Date in week/year format (e.g. 3609).  
                  View as a table and not as  individual entries for consistent 
                  results."
                  ::= { systemMemoryVpdEntry 5 }
                  
      memoryVpdType  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System memory Type (e.g. DDR III SDRAM).  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 6 }
                  
      memoryVpdSize  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System memory size in GigaBytes.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 7 }
     

-- ***********************************************************************
--  Error Log Information
-- ***********************************************************************
    -- ***********************************************************************
    -- Event Log Information
    -- ***********************************************************************
    eventLog   OBJECT IDENTIFIER ::= { errorLogs 1 } 
   
     eventLogTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF EventLogEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of event logs.  View as a table and not as individual entries
                    for consistent results."
                    ::= { eventLog 1 }

     eventLogEntry OBJECT-TYPE
                    SYNTAX EventLogEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Event log entries.  View as a table and not as individual entries for
                    consistent results."
                    INDEX { eventLogIndex }
                    ::= { eventLogTable 1 }
                    

     EventLogEntry ::= SEQUENCE { 
                  eventLogIndex INTEGER,
                  eventLogString OCTET STRING,
		  eventLogSeverity INTEGER,
		  eventLogDate OCTET STRING,
		  eventLogTime OCTET STRING
     }


     eventLogIndex   OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Event log index number. View as a table and not as individual entries for
                  consistent results."
                  ::= { eventLogEntry 1 }

     eventLogString OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Contains a string of information to detail the event.  View as a table and
                  not as individual entries for consistent results."
                  ::= { eventLogEntry 2}

     eventLogSeverity OBJECT-TYPE
                  SYNTAX  INTEGER{
		  error(0),
		  warning(1),
		  information(2),
		  other(3)
	          }
	          ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Contains a information to detail the severity of the event.  View as a table and
                  not as individual entries for consistent results."
                  ::= { eventLogEntry 3}

     eventLogDate  OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The Date  of the Event occured. View as a table and
                  not as individual entries for consistent results."
                  ::= { eventLogEntry 4}

     eventLogTime  OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The  Time of the Event occured. View as a table and
                  not as individual entries for consistent results."
                  ::= { eventLogEntry 5}


     eventLogClr    OBJECT-TYPE
                  SYNTAX  INTEGER {
                    execute(1)
                   }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Clear the event log."
                  ::= { eventLog 3 }


-- ***********************************************************************
--  Configure the IMM
-- ***********************************************************************
    -- ***********************************************************************
    -- Remote Access Configuration
    -- ***********************************************************************
    remoteAccessConfig  OBJECT IDENTIFIER ::= { configureSP 1 } 
     
     -- ***********************************************************************
     -- General Remote Access and Remote Alerts Configuration
     -- ***********************************************************************
     generalRemoteCfg    OBJECT IDENTIFIER ::= { remoteAccessConfig 1 } 
     
      remoteAlertRetryDelay OBJECT-TYPE
                   SYNTAX  INTEGER {
                     noDelay(0),
                     oneHalfMinute(30),
                     oneMinute(60),
                     oneAndHalfMinutes(90),
                     twoMinutes(120),
                     twoAndHalfMinutes(150),
                     threeMinutes(180),
                     threeAndHalfMinutes(210),
                     fourMinutes(240)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in seconds to delay between retries if sending a 
                   remote alert is unsuccessful." 
                   ::= { generalRemoteCfg 1 }
                   
      remoteAlertRetryCount OBJECT-TYPE
                   SYNTAX  INTEGER {
                     noretry(0),
                     retry1(1),
                     retry2(2),
                     retry3(3),
                     retry4(4),
                     retry5(5),
                     retry6(6),
                     retry7(7),
                     retry8(8)
                   } 
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number of additional times a remote alert will be
                   retried if not succesfully sent. A value of zero indicates 
                   no retries will be attempted." 
                   ::= { generalRemoteCfg 2 }
   
      remoteAlertEntryDelay OBJECT-TYPE
                   SYNTAX  INTEGER {
                     noDelay(0),
                     oneHalfMinute(30),
                     oneMinute(60),
                     oneAndHalfMinutes(90),
                     twoMinutes(120),
                     twoAndHalfMinutes(150),
                     threeMinutes(180),
                     threeAndHalfMinutes(210),
                     fourMinutes(240)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in seconds to delay between entries if sending a 
                   remote alert is unsuccessful." 
                   ::= { generalRemoteCfg 3 }

     snmpCriticalAlerts	OBJECT-TYPE
		   SYNTAX  INTEGER {
		     disabled(0),
		     enabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "If Enabled,criticalAlerts will be sent to
                    SNMP , else critical alerts will not be sent." 
                    ::= { generalRemoteCfg 4 }

      snmpWarningAlerts		OBJECT-TYPE
		  SYNTAX  INTEGER {
		    disabled(0),
		    enabled(1)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "If Enabled,warningAlerts will be sent to
                   SNMP , else warning alerts will not be sent." 
                   ::= { generalRemoteCfg 5 }

      snmpSystemAlerts		OBJECT-TYPE
		  SYNTAX  INTEGER {
 		    disabled(0),
		    enabled(1)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "If Enabled,systemAlerts will be sent to
                   SNMP , else system alerts will not be sent." 
                   ::= { generalRemoteCfg 6 }			

      remoteAccessTamperDelay OBJECT-TYPE
                   SYNTAX  INTEGER {
                     oneMinute(1),
                     twoMinutes(2),
                     fiveMinutes(5),
                     tenMinutes(10),
                     fifteenMinutes(15),
                     twentyMinutes(20),
                     thirtyMinutes(30),
                     sixtyMinutes(60),
                     oneTwentyMinutes(120),
                     oneEightyMinutes(180),
                     twoFortyMinutes(240)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in minutes to prohibit a remote login attempt 
                   after more than 5 sequential login attempts have failed." 
                   ::= { generalRemoteCfg 7 }
                   
      userAuthenticationMethod OBJECT-TYPE
                    SYNTAX  INTEGER {
                       localOnly(0),
                       ldapOnly(1),
                       localFirstThenLdap(2),
                       ldapFirstThenLocal(3)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Use this field to specify how users attempting to login should be authenticated. 
                    There are two methods: 
                       Local authentication. Userid and password are verified by searching the list 
                          of users locally configured under Local Login Profiles.
                       LDAP based authentication. Users are authenticated via a remote LDAP server.
                    One or both authentication methods can be selected. If both methods should be 
                    used, the order must be specified."
                   ::= { generalRemoteCfg 8 }


      webInactivityTimeout OBJECT-TYPE
                    SYNTAX  INTEGER {
                       oneMinutes(0),
                       fiveMinutes(1),
                       tenMinutes(2),
                       fifteenMinutes(3),
                       twentyMinutes(4),
                       noTimeout(5),
                       userPicksTimeout(6)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Use this field to indicate how long, in minutes, the IMM subsystem will wait 
                    before disconnecting an inactive web session. Select the no timeout option to 
                    disable this feature. Select the User picks timeout option if the timeout should 
                    instead be selected by the user during the login process."
                   ::= { generalRemoteCfg 9 }
    
              
    -- ***********************************************************************
    -- SNMP alert filters
    -- ***********************************************************************

      snmpAlertFilters OBJECT IDENTIFIER ::= { generalRemoteCfg 10 }

      safSpTrapTempC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                               disabled(0),
                               enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Temperature threshold exceeded."
                            ::= { snmpAlertFilters 2 }

       safSpTrapVoltC       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Voltage threshold exceeded."
                            ::= { snmpAlertFilters 3 }

       safSpTrapPowerC      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Power failure."
                            ::= { snmpAlertFilters 4 }

       safSpTrapHdC         OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Hard disk drive failure."
                            ::= { snmpAlertFilters 5 }

       safSpTrapFanC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Single Fan failure."
                            ::= { snmpAlertFilters 6 }


       safSpTrapIhcC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Incompatible hardware configuration."
                            ::= { snmpAlertFilters 7 }

       safSpTrapCPUC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: CPU Error."
                            ::= { snmpAlertFilters 8 }

       safSpTrapMemoryC     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Memory Error."
                            ::= { snmpAlertFilters 9 }

       safSpTrapRdpsC       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                  "Critical Alert: Redundant Power Supply failure."
                            ::= { snmpAlertFilters 10 }

       safSpTrapHardwareC   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Other Failure - refer to Message ID for specific condition."
                            ::= { snmpAlertFilters 11 }


       safSpTrapRdpsN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                  "Non-Critical Alert: Redundant Power Supply failure."
                            ::= { snmpAlertFilters 12 }

       safSpTrapTempN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Temperature threshold exceeded."
                            ::= { snmpAlertFilters 13 }

       safSpTrapVoltN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Voltage threshold exceeded."
                            ::= { snmpAlertFilters 14 }

       safSpTrapPowerN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Power."
                            ::= { snmpAlertFilters 15 }

       safSpTrapFanN        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Fan Error."
                            ::= { snmpAlertFilters 16 }

       safSpTrapCPUN        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Memory Error."
                            ::= { snmpAlertFilters 17 }

       safSpTrapMemoryN     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Memory Error."
                            ::= { snmpAlertFilters 18 }

       safSpTrapHardwareN   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Warning - refer to Message ID for specific condition."
                            ::= { snmpAlertFilters 19 }

       safSpTrapRLogin      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Sev-Off Alert: Event Remote Login."
                            ::= { snmpAlertFilters 20 }


       safSpTrapOsToS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: OS Timeout value exceeded."
                            ::= { snmpAlertFilters 21 }

       safSpTrapAppS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Application Alert. Refer to Message ID for specific condition."
                            ::= { snmpAlertFilters 22 }

       safSpTrapPowerS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Power Off."
                              ::= { snmpAlertFilters 23 }

       safSpTrapBootS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: System Boot Failure."
                            ::= { snmpAlertFilters 24 }

       safSpTrapLdrToS      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: OS Loader Timeout."
                            ::= { snmpAlertFilters 25 }

       safSpTrapPFAS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Predictive Failure Analysis(PFA) information."
                            ::= { snmpAlertFilters 26 }

       safSpTrapSysLogS     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: System Log 75% full."
                            ::= { snmpAlertFilters 27 }

       safSpTrapNwChangeS   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Network change notification."
                            ::= { snmpAlertFilters 28 }	
		
    -- ***********************************************************************
    -- begin account security management
    -- ***********************************************************************
       customSecuritySettings OBJECT IDENTIFIER ::= { generalRemoteCfg 20 }

           loginPasswordRequired OBJECT-TYPE
                   SYNTAX  INTEGER {
                     disabled(0),
                     enabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "If enabled, all users require a login password to access the IMM
                   via the CLI and Web interfaces.  The default value is disabled."
                   ::= { customSecuritySettings 1 }

           passwordExpirationPeriod OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The number of days before login passwords expire.  The minimum
                   value is 1 day and the maximum value is 365 days.  The default
                   value is 90 days.  A value of 0 disables this option."
                   ::= { customSecuritySettings 2 }

           minimumPasswordReuseCycle OBJECT-TYPE
                   SYNTAX  INTEGER {
                     none(0),
                     onePassword(1),
                     twoPasswords(2),
                     threePasswords(3),
                     fourPasswords(4),
                     fivePasswords(5)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The number of unique passwords a user must choose before
                   reusing a password.  The default value is none."
                   ::= { customSecuritySettings 3 }

           complexPasswordRulesEnforced OBJECT-TYPE
                   SYNTAX  INTEGER {
                     disabled(0),
                     enabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "If enabled, password should contains at least one numeric and 
                   one alphabetic character."
                   ::= { customSecuritySettings 4 }
				   
           minimumPasswordLength OBJECT-TYPE
                   SYNTAX  INTEGER {
                     passwordLengthOne(1),
                     passwordLengthTwo(2),
                     passwordLengthThree(3),
                     passwordLengthFour(4)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Minimum length of the password."
                   ::= { customSecuritySettings 5 }
    -- ***********************************************************************
    -- IMM Serial Port Configuration
    -- ***********************************************************************
     serialPortCfg  OBJECT IDENTIFIER ::= { remoteAccessConfig 2 }

 
      -- ***********************************************************************
      -- Serial Redirect
      -- ***********************************************************************
      serialRedirect OBJECT IDENTIFIER ::= { serialPortCfg 3 }

      enterCLIkeySeq  OBJECT-TYPE
                     SYNTAX  OCTET STRING(SIZE(0..15))
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "This is the keystroke sequence used to enter the CLI. The same restrictions as 
                     the 'Enter CLI' sequence apply to this field. The sequence is not active for 
                     the telnet interface, since either COM port may be available from the CLI session 
                     for serial redirect (i.e. the meaning is ambiguous). The default value for this 
                     field is '^[(\' i.e. ESC followed by (.

                      Note: IMM on some servers does not have serial port support." 
                     ::= { serialRedirect 1 }

     -- ***********************************************************************
     -- Remote Alert Profiles
     -- ***********************************************************************
     remoteAlertIds OBJECT IDENTIFIER ::= { remoteAccessConfig 3 }
     

    remoteAlertIdsTable  OBJECT-TYPE
                            SYNTAX  SEQUENCE OF RemoteAlertIdsEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Table of remote alert entries.
                            This table lets you configure remote alert recipients. 
 	                    You can define up to 12 unique recipients. 
 	                    Note: All selected alert events will be sent to all 
 	                    enabled alert recipients."
                            ::= {  remoteAlertIds 1 }

      remoteAlertIdsEntry  OBJECT-TYPE
                            SYNTAX RemoteAlertIdsEntry 
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Remote alert entries."
                            INDEX { remoteAlertIdEntryIndex }
                            ::= { remoteAlertIdsTable 1 }
                     

      RemoteAlertIdsEntry ::= SEQUENCE {
                   remoteAlertIdEntryIndex INTEGER,
                   remoteAlertIdEntryStatus INTEGER,
                   remoteAlertIdEntryName OCTET STRING,
                   remoteAlertIdEmailAddr OCTET STRING,
                   remoteAlertIdEntryCriticalAlert INTEGER,
		   remoteAlertIdEntryWarningAlert INTEGER,
	           remoteAlertIdEntrySystemAlert INTEGER,
	 	   remoteAlertIdEntryAttachmentsToEmailAlerts INTEGER	
      }


      remoteAlertIdEntryIndex  OBJECT-TYPE
                                SYNTAX  INTEGER 
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Index for remote alert entry."  
                                ::= { remoteAlertIdsEntry 1 }

      remoteAlertIdEntryStatus OBJECT-TYPE
                                SYNTAX  INTEGER {
                                  disabled(1),
                                  enabled(2)                
                                }
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "If enabled alerts will be sent to this alert 
                                recipient else alerts will not be sent."
                                ::= { remoteAlertIdsEntry 2 }


      remoteAlertIdEntryName	  OBJECT-TYPE
                                  SYNTAX  OCTET STRING(SIZE(0..50))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "A null terminated string that contains 
                                  a text description of this entry." 
                                   
                                  ::= { remoteAlertIdsEntry 3 }

      remoteAlertIdEmailAddr     OBJECT-TYPE
                                  SYNTAX  OCTET STRING(SIZE(0..64))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "A null terminated string that 
                                  contains a E-Mail Address. For example 'jeb@us.ibm.com'.
                                  Used only for a E-mail over Lan."
                                  
                                  ::= { remoteAlertIdsEntry 4} 
       
      remoteAlertIdEntryCriticalAlert OBJECT-TYPE
                                  SYNTAX  INTEGER {
					disabled(0),
					enabled(1)
                                  }
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "If Enabled,criticalAlerts will be sent to this
                                  remote alert receipient,else critical alerts will not be sent." 
                                  ::= { remoteAlertIdsEntry 5 }


     remoteAlertIdEntryWarningAlert OBJECT-TYPE
                                  SYNTAX  INTEGER {
					disabled(0),
					enabled(1)
                                  }
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "If Enabled,warningAlerts will be sent to this
                                  remote alert receipient,else warningAlerts will not be sent." 
                                  ::= { remoteAlertIdsEntry 6 }

     remoteAlertIdEntrySystemAlert OBJECT-TYPE
                                  SYNTAX  INTEGER {
					disabled(0),
					enabled(1)
                                  }
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "If Enabled,systemAlerts will be sent to this
                                  remote alert receipient,else systemAlerts will not be sent." 
                                  ::= { remoteAlertIdsEntry 7 }
	

      remoteAlertIdEntryAttachmentsToEmailAlerts  OBJECT-TYPE
                    	 SYNTAX  INTEGER {
		     	   noAttachments(0),
                      	   attachEventLog(1)
                    	}
			ACCESS  read-write
			STATUS  mandatory
			DESCRIPTION
			"Indicates if the event log should be attached to  
		 	a email alert." 
		 	::= { remoteAlertIdsEntry 8 }

	remoteAlertFiltersTable  OBJECT-TYPE
                            SYNTAX  SEQUENCE OF RemoteAlertFiltersEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Table of Alert Filters.  The  entries (rows) in this table correspond 1-1 with the entries in the 
                             remoteAlertIdsTable.  They are correlated by index.  "
                            ::= {  remoteAlertIds 2 }
                            
      remoteAlertFiltersEntry  OBJECT-TYPE
                            SYNTAX RemoteAlertFiltersEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Remote Filters entries."
                            INDEX { rafIndex }
                            ::= { remoteAlertFiltersTable 1 }
                            
      RemoteAlertFiltersEntry ::= SEQUENCE { 
                            rafIndex              INTEGER(0..255),   
                            rafSpTrapTempC        INTEGER,
                            rafSpTrapVoltC        INTEGER,
                            rafSpTrapPowerC       INTEGER,
                            rafSpTrapHdC          INTEGER,
                            rafSpTrapFanC         INTEGER,
                            rafSpTrapIhcC         INTEGER,
                            rafSpTrapCPUC         INTEGER,
                            rafSpTrapMemoryC      INTEGER,
                            rafSpTrapRdpsC        INTEGER,
                            rafSpTrapHardwareC    INTEGER,
                            rafSpTrapRdpsN        INTEGER,
                            rafSpTrapTempN        INTEGER,
                            rafSpTrapVoltN        INTEGER,
                            rafSpTrapPowerN       INTEGER,
                            rafSpTrapFanN         INTEGER,
                            rafSpTrapCPUN         INTEGER,
                            rafSpTrapMemoryN      INTEGER,
                            rafSpTrapHardwareN    INTEGER,
                            rafSpTrapRLogin       INTEGER,
                            rafSpTrapOsToS        INTEGER,
                            rafSpTrapAppS         INTEGER,
                            rafSpTrapPowerS       INTEGER,	
                            rafSpTrapBootS        INTEGER,
                            rafSpTrapLdrToS       INTEGER,
                            rafSpTrapPFAS         INTEGER,
                            rafSpTrapSysLogS      INTEGER,
                            rafSpTrapNwChangeS    INTEGER
      }
      
      rafIndex              OBJECT-TYPE
                            SYNTAX  INTEGER(0..255) 
                            ACCESS  read-only
                            STATUS  mandatory
                            DESCRIPTION
                            "Index for User Authority Level entry."  
                            ::= { remoteAlertFiltersEntry 1 }
       

      rafSpTrapTempC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                               disabled(0),
                               enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Temperature threshold exceeded."
                            ::= { remoteAlertFiltersEntry 2 }

       rafSpTrapVoltC       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Voltage threshold exceeded."
                            ::= { remoteAlertFiltersEntry 3 }

       rafSpTrapPowerC      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Power failure."
                            ::= { remoteAlertFiltersEntry 4 }

       rafSpTrapHdC         OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Hard disk drive failure."
                            ::= { remoteAlertFiltersEntry 5 }

       rafSpTrapFanC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Single Fan failure."
                            ::= { remoteAlertFiltersEntry 6 }


       rafSpTrapIhcC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Incompatible hardware configuration."
                            ::= { remoteAlertFiltersEntry 7 }

       rafSpTrapCPUC        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: CPU Error."
                            ::= { remoteAlertFiltersEntry 8 }

       rafSpTrapMemoryC     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Memory Error."
                            ::= { remoteAlertFiltersEntry 9 }

       rafSpTrapRdpsC       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                  "Critical Alert: Redundant Power Supply failure."
                            ::= { remoteAlertFiltersEntry 10 }

       rafSpTrapHardwareC   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Other Failure - refer to Message ID for specific condition."
                            ::= { remoteAlertFiltersEntry 11 }


       rafSpTrapRdpsN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                  "Non-Critical Alert: Redundant Power Supply failure."
                            ::= { remoteAlertFiltersEntry 12 }

       rafSpTrapTempN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Temperature threshold exceeded."
                            ::= { remoteAlertFiltersEntry 13 }

       rafSpTrapVoltN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Voltage threshold exceeded."
                            ::= { remoteAlertFiltersEntry 14 }

       rafSpTrapPowerN       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Power."
                            ::= { remoteAlertFiltersEntry 15 }

       rafSpTrapFanN        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Fan Error."
                            ::= { remoteAlertFiltersEntry 16 }

       rafSpTrapCPUN        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Memory Error."
                            ::= { remoteAlertFiltersEntry 17 }

       rafSpTrapMemoryN     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Memory Error."
                            ::= { remoteAlertFiltersEntry 18 }

       rafSpTrapHardwareN   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Non-Critical Alert: Warning - refer to Message ID for specific condition."
                            ::= { remoteAlertFiltersEntry 19 }

       rafSpTrapRLogin      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "Sev-Off Alert: Event Remote Login."
                            ::= { remoteAlertFiltersEntry 20 }


       rafSpTrapOsToS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: OS Timeout value exceeded."
                            ::= { remoteAlertFiltersEntry 21 }

       rafSpTrapAppS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Application Alert. Refer to Message ID for specific condition."
                            ::= { remoteAlertFiltersEntry 22 }

       rafSpTrapPowerS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Power Off."
                              ::= { remoteAlertFiltersEntry 23 }

       rafSpTrapBootS       OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: System Boot Failure."
                            ::= { remoteAlertFiltersEntry 24 }

       rafSpTrapLdrToS      OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: OS Loader Timeout."
                            ::= { remoteAlertFiltersEntry 25 }

       rafSpTrapPFAS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Predictive Failure Analysis(PFA) information."
                            ::= { remoteAlertFiltersEntry 26 }

       rafSpTrapSysLogS     OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: System Log 75% full."
                            ::= { remoteAlertFiltersEntry 27 }

       rafSpTrapNwChangeS   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Network change notification."
                            ::= { remoteAlertFiltersEntry 28 }
      generateTestAlert  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Generate a Test Alert. This will send a test alert to all configured 
                   and enabled remote alert receipients. The text portion of the 
                   alert will contain 'Application Posted Alert to IMM'." 
                   ::= { remoteAlertIds 30 }

     -- ***********************************************************************
     -- Remote Access Profiles
     -- ***********************************************************************
     remoteAccessIds OBJECT IDENTIFIER ::= { remoteAccessConfig 4 }
     

      remoteAccessIdsTable  OBJECT-TYPE
                            SYNTAX  SEQUENCE OF RemoteAccessIdsEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Table of remote access profiles.

                            This table lets you to configure all login profiles. 
                            You can define up to 12 unique profiles. 
 	
                            Note: By default, the remote supervisor adapter  
                            comes configured with one login profile that allows remote 
                      	    access using a login ID of 'USERID' and a password of 'PASSW0RD' 
                      	    (the 0 is a zero). To avoid a potential security exposure, 
                      	    we strongly recommend that you change this default Login 
                      	    Profile to values of your choice."
                            ::= {  remoteAccessIds 1 }

      remoteAccessIdsEntry  OBJECT-TYPE
                            SYNTAX RemoteAccessIdsEntry 
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Remote access entries."
                            INDEX { remoteAccessIdEntryIndex }
                            ::= { remoteAccessIdsTable 1 }
                     

      RemoteAccessIdsEntry ::= SEQUENCE { 
                   remoteAccessIdEntryIndex INTEGER,
                   remoteAccessIdEntryUserId OCTET STRING,
                   remoteAccessIdEntryPassword OCTET STRING,
	 	   remoteAccessIdEntryUserPwdLeftDays INTEGER	
      }


      remoteAccessIdEntryIndex  OBJECT-TYPE
                                SYNTAX  INTEGER(0..255)
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Index for Remote access entry."  
                                ::= { remoteAccessIdsEntry 1 }

      remoteAccessIdEntryUserId    OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..16))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "Remote access entry null terminated string that 
                                contains the user-id. This can only be modified from 
				blank to non-blank, then back to blank."
                                ::= { remoteAccessIdsEntry 2 }

      remoteAccessIdEntryPassword OBJECT-TYPE
                                  SYNTAX  OCTET STRING(SIZE(0..16))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "Remote access entry null terminated string that 
                                  contains the password. On a read a NULL string 
                                  will be returned for security reasons." 
                                  ::= { remoteAccessIdsEntry 3 }

      -- made part of user structure instead of separate structure
      remoteAccessIdEntryUserPwdLeftDays     OBJECT-TYPE
                 	        	     SYNTAX  INTEGER(0..365)
                                	     ACCESS  read-only
                                	     STATUS  mandatory
                                	     DESCRIPTION
                                	     "left days before password expired for selected user"
                                             ::= {remoteAccessIdsEntry 4  }
                                  
      -- 51.1.4.1.4.2
      remoteAccessUserAuthorityLevelTable  OBJECT-TYPE
                            SYNTAX  SEQUENCE OF RemoteAccessUserAuthorityLevelEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Table of user authority level profiles."
                            ::= {  remoteAccessIds 2 }
                            
      remoteAccessUserAuthorityLevelEntry  OBJECT-TYPE
                            SYNTAX RemoteAccessUserAuthorityLevelEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "User authority level entries."
                            INDEX { ualIndex }
                            ::= { remoteAccessUserAuthorityLevelTable 1 }
                            
      RemoteAccessUserAuthorityLevelEntry ::= SEQUENCE { 
                   ualIndex INTEGER(0..255),
                   ualId OCTET STRING (SIZE(0..16)),
                   ualSupervisor INTEGER,
                   ualReadOnly INTEGER,
                   ualAccountManagement INTEGER,
                   ualConsoleAccess INTEGER,
                   ualConsoleAndVirtualMediaAccess INTEGER,
                   ualServerPowerAccess INTEGER,
                   ualAllowClearLog INTEGER,
                   ualAdapterBasicConfig INTEGER,
                   ualAdapterNetworkAndSecurityConfig INTEGER,
                   ualAdapterAdvancedConfig INTEGER
      }
      
      ualIndex  OBJECT-TYPE
                    SYNTAX  INTEGER(0..255) 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Index for User Authority Level entry."  
                    ::= { remoteAccessUserAuthorityLevelEntry 1 }

      ualId    OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..16))
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "User ID"
                    ::= { remoteAccessUserAuthorityLevelEntry 2 }

      ualSupervisor OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User has no restrictions."
                    ::= { remoteAccessUserAuthorityLevelEntry 3 }

      ualReadOnly OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User has only read-only access, and cannot perform any save, modify, 
                    clear, or state affecting operations (eg. restart IMM, restore defaults, 
                    upgrade the firmware, etc.)."
                    ::= { remoteAccessUserAuthorityLevelEntry 4 }

      ualAccountManagement OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can add/modify/delete users and change the global login settings in 
                    the Login Profiles panel."
                    ::= { remoteAccessUserAuthorityLevelEntry 5 }

      ualConsoleAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can access the remote console."
                    ::= { remoteAccessUserAuthorityLevelEntry 6 }

      ualConsoleAndVirtualMediaAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can access both the remote console and the virtual media feature."
                    ::= { remoteAccessUserAuthorityLevelEntry 7 }

      ualServerPowerAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can access the power on and restart functions for the remote server. 
                    These functions are available via the Power/Restart panel."
                    ::= { remoteAccessUserAuthorityLevelEntry 8 }

      ualAllowClearLog OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can clear the event logs. Everyone can look at the 
                    event logs, but this particular permission is required to clear the logs."
                    ::= { remoteAccessUserAuthorityLevelEntry 9 }
                    
      ualAdapterBasicConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can modify configuration parameters in the System Settings and Alerts 
                    panels."
                    ::= { remoteAccessUserAuthorityLevelEntry 10 }
                    
      ualAdapterNetworkAndSecurityConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User can modify configuration parameters in the Security, Network Protocols, 
                    Network Interface, Port Assignments, and Serial Port panels."
                    ::= { remoteAccessUserAuthorityLevelEntry 11 }
                    
      ualAdapterAdvancedConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "User has no restrictions when configuring the adapter. In addition, the 
                    user is said to have administrative access to the IMM, meaning that the 
                    user can also perform the following advanced functions: firmware upgrades, 
                    PXE network boot, restore adapter factory defaults, modify and restore 
                    adapter configuration from a configuration file, and restart/reset the 
                    adapter."
                    ::= { remoteAccessUserAuthorityLevelEntry 12 }

    -- ***********************************************************************
    -- SP Clock
    -- ***********************************************************************
    spClock        OBJECT IDENTIFIER ::= { configureSP 2 } 

     spClockDateAndTimeSetting OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM clock date and time setting. 
                  A date-time specification for the local time of day.
                  For example to set the date and time to 
                  March 4, 2001 at 06:00:00AM, set the value to:'03/04/2001,06:00:00'.  
                  field  contents         range
                  _____  ________         _____
                    1     month           01..12
                    2     separator       '/'
                    3     day             01..31
                    4     separator       '/'
                    5     year            2000..2037
                    6     separator       ','
                    7     hour            00..23
                    8     separator       ':'
                    9     minutes         00..59
                    10    separator       ':'
                    11    seconds         00..59
                  "  
                  ::= { spClock  1 }

     spClockTimezoneSetting OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM clock Greenwich Mean Time(GMT) offset and Daylight Saving Time(DST) 
                  settings.

                  The following table lists GMT offsets and associated DST
                  information.  DST is not observed in time zones where
                  the 'Observe DST' value does not contain 'yes' in the table.
                  Also, note that in some cases additional information 
                  is required to determine the clock adjustment when DST is 
                  observed.  The additional information is required when the
                  GMT offset being written is +2:00 or +10:00.  

                  Examples
                        -to set the GMT offset to +3:30, 
                         set the value to:'+3:30,no'

                        -for Eastern Standard Time and observing DST,
                         set the value to:'-5:00,yes'

                        -for Egypt and observing DST,
                         set the value to:'+2:00,yes,6'


                   GMT    Observe  Additional 
                  Offset    DST?    DST value
                  ______  _______  __________
                   +0:00  yes|no                 
                   +1:00  yes|no                 
                   +2:00  yes|no   When 'Observe DST?' value is 'yes':
                                   5 (for E.Europe)      
                                   4 (for BEL)           
                                   6 (for Egypt)      
                   +3:00  yes|no                 
                   +3:30  yes|no                 
                   +4:00  yes|no                 
                   +4:30  no 
                   +5:00  yes|no                 
                   +5:30  no                 
                   +6:00  yes|no      
                   +7:00  no 
                   +8:00  no 
                   +9:00  yes|no                 
                   +9:30  yes|no                 
                  +10:00  yes|no   When 'Observe DST?' value is 'yes':
                                   9  (for AUS Eastern)      
                                   10 (for Tasmania)           
                                   4  (for Vladivostok)      
                  +11:00  yes|no
                  +12:00  yes|no   When 'Observe DST?' value is 'yes':
                                   4   (for Fiji)
                                   11  (New Zealand)              
								   7   (Chatham)
                  -12:00  no                 
                  -11:00  no                 
                  -10:00  no                 
                   -9:00  yes|no                 
                   -8:00  yes|no                 
                   -7:00  yes|no                 
                   -6:00  yes|no                 
                   -5:00  yes|no                 
                   -4:00  yes|no                 
                   -3:30  yes|no                 
                   -3:00  yes|no   When 'Observe DST?' value is 'yes':
                                   12  (Greenland)
                                   13  (Brasilia)              
                   -2:00  no                 
                   -1:00  yes|no                 
                   "
                  ::= { spClock  2 }


    -- ***********************************************************************
    -- SP identification
    -- ***********************************************************************
    spIdentification        OBJECT IDENTIFIER ::= { configureSP 3 } 

     spTxtId      OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(0..16))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "IMM text ID. Note: Do not put any 'space 
                  character' at end of the ID."
                  ::= { spIdentification 1 }


    -- ***********************************************************************
    -- Network Configuration
    -- ***********************************************************************
    networkConfiguration  OBJECT IDENTIFIER ::= { configureSP 4 } 

     -- ***********************************************************************
     -- Network Interfaces 
     -- ***********************************************************************
     networkInterfaces  OBJECT IDENTIFIER ::= { networkConfiguration 1 } 
      -- ***********************************************************************
      -- Ethernet Interface 1 
      -- ***********************************************************************
      ethernetInterface  OBJECT IDENTIFIER ::= { networkInterfaces 1 } 
      
       ethernetInterfaceType OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..16))
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "The type of interface. Indicates 'Ethernet-1'." 
                    ::= { ethernetInterface 1 }

       ethernetInterfaceEnabled  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      interfaceDisabled(0),
                      interfaceEnabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable the interface.

                    Note: To alter any of the configuration settings for the ethernet
                    interface the following procedure should be used: 
 	            (1)This object should be written with 'interfaceDisabled'
   	            (2)Make the modifications to other settings
   	            (3)This object should be written with 'interfaceEnabled'
   	            (4)Restart the remote supervisor adapter
   	
   	            Also note that when this object has a value of interfaceEnabled 
   	            the following is verifed, if this verification fails a error 
   	            response will be returned for the set of this object and the 
   	            ethernet interface will be left in a disabled state.
   	            (1)Is the range for the MTU between 60-1500
   	            (2)Are the speed settings one of 10Mb, 100Mb, AUTO
   	            (3)Are the speed settings one of Half, Full, AUTO
   	            (4)If DHCP is disabled then is there a valid IP address 
                    " 
                    ::= { ethernetInterface 2 }

       ethernetInterfaceHostName  OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..64))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the 64 byte null terminated DNS host name for this 
                    interface."
                    ::= { ethernetInterface 3 }
       
       ethernetInterfaceIPAddress   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IP address for the ethernet interface." 
                    ::= { ethernetInterface 4 }

       ethernetInterfaceAutoNegotiate  OBJECT-TYPE
	 	    SYNTAX  INTEGER {
		      enabled(0),
		      disabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "If this is enabled, then we should ignore Speed/Duplex."
                    ::= { ethernetInterface 5 }

       ethernetInterfaceDataRate   OBJECT-TYPE
                    SYNTAX  INTEGER {
                      enet10Megabit(3),
                      enet100Megabit(4)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Specifies the data transfer rate to be used over the ethernet 
                    interface 10Mb/100Mb/Auto." 
                    ::= { ethernetInterface 6 }

       ethernetInterfaceDuplexSetting  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      fullDuplex(1),
                      halfDuplex(2)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Specifies the duplex settings for the data transfer rate to be used over 
                    the ethernet interface Half/Full/Auto." 
                    ::= { ethernetInterface 7 }
                    
       ethernetInterfaceLAA OBJECT-TYPE        
                    SYNTAX  OCTET STRING (SIZE(17))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Specifies the locally administered MAC address.  The locally administered
                    address must be a hexadecimal value between 000000000000 - FFFFFFFFFFFF.  This 
                    value must be in the form XX:XX:XX:XX:XX:XX where 'X' is a number between 0 - 9 and
                    A - F.  This IMM subsystem does not allow use of a multicast address.  A multicast
                    address has the least significant bit of the first byte set to a 1.  The first
                    byte must, therefore, be an even number." 
                    ::= { ethernetInterface 8 }
                    
       ethernetInterfaceDhcpEnabled  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      dhcpDisabled(0),
                      dhcpEnabled(1),
                      dhcpTry(2)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable DHCP on this interface." 
                    ::= { ethernetInterface 9 }

       ethernetInterfaceGatewayIPAddress   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IP address of the gateway/router for the ethernet 
                     interface." 
                    ::= { ethernetInterface 10 }
                    
       ethernetInterfaceBIA OBJECT-TYPE        
                    SYNTAX  OCTET STRING (SIZE(6))
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Specifies the burned-in MAC (BIA) address." 
                    ::= { ethernetInterface 11 }

       ethernetInterfaceMTU   OBJECT-TYPE
                    SYNTAX  INTEGER 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Maximum Transmission Unit(MTU) for the ethernet 
                    interface" 
                    ::= { ethernetInterface 12 }
                    
       ethernetInterfaceSubnetMask   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Subnet Mask for the ethernet 
                    interface" 
                    ::= { ethernetInterface 13 }

       -- ***********************************************************************
       -- DHCP Server Assigned Settings for ethernet interface 1 
       -- ***********************************************************************
       dhcpEthernetInterface  OBJECT IDENTIFIER ::= { ethernetInterface 14 } 

        dhcpHostName  OBJECT-TYPE
                     SYNTAX  OCTET STRING (SIZE(0..64))
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the 64 byte null terminated DNS host name for this 
                     interface, assigned by the DHCP server."
                     ::= { dhcpEthernetInterface 1 }
        
        dhcpIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the IP address for the ehternet interface, 
                     assigned by the DHCP server." 
                     ::= { dhcpEthernetInterface 2 }

        dhcpGatewayIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the IP address of the gateway/router for the ethernet 
                      interface, assigned by the DHCP server." 
                     ::= { dhcpEthernetInterface 3 }
                     
        dhcpSubnetMask   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the Subnet Mask for the ethernet 
                     interface, assigned by the DHCP server." 
                     ::= { dhcpEthernetInterface 4 }

        dhcpDomainName  OBJECT-TYPE
                     SYNTAX  OCTET STRING (SIZE(0..64))
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the 64 byte null terminated Domain Name for this 
                     interface, assigned by the DHCP server."
                     ::= { dhcpEthernetInterface 5 }

        dhcpPrimaryDNSServer  OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the Primary DNS server, assigned by the DHCP server."   
                     ::= { dhcpEthernetInterface 6 }

        dhcpSecondaryDNSServer  OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the Secondary DNS server, assigned by the DHCP server."   
                     ::= { dhcpEthernetInterface 7 }

        dhcpTertiaryDNSServer  OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the tertiary DNS server, assigned by the DHCP server."   
                     ::= { dhcpEthernetInterface 8 }

       -- ********************************************************************************
       -- Ethernet Interface IPv6
       -- ********************************************************************************
        ethernetInterfaceIPv6  OBJECT IDENTIFIER ::= { networkInterfaces 4 }

--          ethernetInterfaceIPv6Type OBJECT-TYPE
--                     SYNTAX  OCTET STRING (SIZE(0..16))
--                     ACCESS  read-only
--                     STATUS  mandatory
--                     DESCRIPTION
--                     "The type of interface. Indicates 'Ethernet-1'."
--                     ::= { ethernetInterfaceIPv6 1 }

          ethernetInterfaceIPv6Enabled  OBJECT-TYPE
                     SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                     }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The current IPv6 enabled or disabled state of this IMM.

                     NOTE: If IPv6 address(es) have been configured for one or more
                     interfaces/protocols/services on this IMM, when you update
                     the firmware to a level which does not support IPv6, all IPv6
                     connectivity will be lost, and services/interfaces for which an IPv6
                     address was configured may not function properly. You will be required
                     to reconfigure these services/interfaces."
                     ::= { ethernetInterfaceIPv6 2 }

          ethernetInterfaceIPv6Config  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6 5 }

          ethernetInterfaceIPv6LocalAddress  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6Config 1 }

           ethernetInterfaceIPv6LinkLocalAddress  OBJECT-TYPE
                     SYNTAX  InetAddressIPv6
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 link local IP address for the ethernet interface.

                     NOTE: If   ethernetInterfaceIPv6Enabled is currently disabled, this
                     object has the value '0:0:0:0:0:0:0:0'."
                     ::= { ethernetInterfaceIPv6LocalAddress 1 }

          ethernetInterfaceIPv6StaticIPConfig  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6Config 2 }

           ethernetInterfaceIPv6StaticIPConfigEnabled  OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 static IP address enabled or disabled state for the ethernet interface."
                     ::= { ethernetInterfaceIPv6StaticIPConfig 1 }

           ethernetInterfaceIPv6StaticIPAddress  OBJECT-TYPE
                     SYNTAX  InetAddressIPv6
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 static IP address for the ethernet interface.

                     NOTE: If   ethernetInterfaceIPv6Enabled is currently disabled, this
                     object has the value '0:0:0:0:0:0:0:0'."
                     ::= { ethernetInterfaceIPv6StaticIPConfig 2 }

           ethernetInterfaceIPv6StaticIPAddressPrefixLen  OBJECT-TYPE
                     SYNTAX  INTEGER (1..128)
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 static IP address prefix length for the ethernet interface.

                     NOTE: If   ethernetInterfaceIPv6Enabled is currently disabled, this
                     object has the value 0."
                     ::= { ethernetInterfaceIPv6StaticIPConfig 3 }

           ethernetInterfaceIPv6StaticIPDefaultRoute  OBJECT-TYPE
                     SYNTAX  InetAddressIPv6
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 static IP address default route for the ethernet interface.

                     NOTE: If   ethernetInterfaceIPv6Enabled is currently disabled, this
                     object has the value '0:0:0:0:0:0:0:0'."
                     ::= { ethernetInterfaceIPv6StaticIPConfig 4 }

          ethernetInterfaceIPv6AutoIPConfig  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6Config 3 }

           ethernetInterfaceDHCPv6Config  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6AutoIPConfig 2 }

            ethernetInterfaceDHCPv6Enabled  OBJECT-TYPE
                     SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                     }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The DHCPv6 enabled or disabled state for the ethernet interface.

                     NOTE: If   ethernetInterfaceIPv6StatelessAutoConfigEnabled is currently disabled, Disabling
                       ethernetInterfaceDHCPv6Enabled will cause   ethernetInterfaceIPv6AutoIPConfigEnabled to be disabled.
                     NOTE: If   ethernetInterfaceIPv6StaticIPConfigEnabled and
                       ethernetInterfaceIPv6StatelessAutoConfigEnabled are currently disabled, Disabling
                       ethernetInterfaceDHCPv6Enabled will not be allowed."
                     ::= { ethernetInterfaceDHCPv6Config 1 }

             ethernetInterfaceDHCPv6IPAddress  OBJECT-TYPE
                      SYNTAX  InetAddressIPv6
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "The IPv6 address for the ethernet interface, assigned by DHCPv6 server.

                      NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                      is disabled or if DHCPv6 server is not available, this object has the value
                      '0:0:0:0:0:0:0:0'."
                      ::= { ethernetInterfaceDHCPv6Config 2 }

             ethernetInterfaceDHCPv6DomainName  OBJECT-TYPE
                       SYNTAX  OCTET STRING (SIZE(0..64))
                       ACCESS  read-only
                       STATUS  mandatory
                       DESCRIPTION
                       "The 64 byte Domain Name for the ethernet interface,
                       assigned by the DHCPv6 server.

                       NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                       is disabled or if DHCPv6 server is not available, this object has the
                       value '(Not available)'."
                       ::= { ethernetInterfaceDHCPv6Config 4 }

             ethernetInterfaceDHCPv6PrimaryDNSServer  OBJECT-TYPE
                       SYNTAX  InetAddressIPv6
                       ACCESS  read-only
                       STATUS  mandatory
                       DESCRIPTION
                       "The primary DNS server, assigned by the DHCPv6 server.

                       NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                       is disabled or if DHCPv6 server is not available, this object has the
                       value '0:0:0:0:0:0:0:0'."
                       ::= { ethernetInterfaceDHCPv6Config 5 }

             ethernetInterfaceDHCPv6SecondaryDNSServer  OBJECT-TYPE
                       SYNTAX  InetAddressIPv6
                       ACCESS  read-only
                       STATUS  mandatory
                       DESCRIPTION
                       "The secondary DNS server, assigned by the DHCPv6 server.

                       NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                       is disabled or if DHCPv6 server is not available, this object has the
                       value '0:0:0:0:0:0:0:0'."
                       ::= { ethernetInterfaceDHCPv6Config 6 }

             ethernetInterfaceDHCPv6TertiaryDNSServer  OBJECT-TYPE
                       SYNTAX  InetAddressIPv6
                       ACCESS  read-only
                       STATUS  mandatory
                       DESCRIPTION
                       "The tertiary DNS server, assigned by the DHCPv6 server.

                       NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                       is disabled or if DHCPv6 server is not available, this object has the
                       value '0:0:0:0:0:0:0:0'."
                       ::= { ethernetInterfaceDHCPv6Config 7 }

             ethernetInterfaceDHCPv6Server  OBJECT-TYPE
                   SYNTAX  InetAddressIPv6
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The DHCPv6 server IPv6 address used to acquire the DHCP settings.

                   NOTE: If   ethernetInterfaceIPv6Enabled or   ethernetInterfaceDHCPv6Enabled
                   is disabled or if DHCPv6 server is not available, this object has the
                   value '0:0:0:0:0:0:0:0'."
                   ::= { ethernetInterfaceDHCPv6Config 8 }

           ethernetInterfaceIPv6StatelessAutoConfig  OBJECT IDENTIFIER ::= { ethernetInterfaceIPv6AutoIPConfig 3 }

            ethernetInterfaceIPv6StatelessAutoConfigEnabled  OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 stateless auto-configuration enabled or disabled state for the ethernet interface.

                     NOTE: If   EthernetfInterfaceDHCPv6Enabled is currently disabled, Disabling
                       ethernetInterfaceIPv6StatelessAutoConfigEnabled will cause   ethernetInterfaceIPv6AutoIPConfigEnabled
                     to be disabled."
                     ::= { ethernetInterfaceIPv6StatelessAutoConfig 1 }

         ethernetInterfaceStatelessAutoConfigAddressesTable  OBJECT-TYPE
                    SYNTAX  SEQUENCE OF   EthernetInterfaceStatelessAutoConfigAddressesEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of stateless Auto-Config addresses entries"
                    ::= {    ethernetInterfaceIPv6StatelessAutoConfig 2 }

         ethernetInterfaceStatelessAutoConfigAddressesEntry  OBJECT-TYPE
                    SYNTAX    EthernetInterfaceStatelessAutoConfigAddressesEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Stateless Auto-Config address entries"
                    INDEX { ethernetInterfaceStatelessAutoConfigAddressesIndex }
                    ::= { ethernetInterfaceStatelessAutoConfigAddressesTable 1 }

         EthernetInterfaceStatelessAutoConfigAddressesEntry ::= SEQUENCE {
                     ethernetInterfaceStatelessAutoConfigAddressesIndex INTEGER,
                     ethernetInterfaceStatelessAutoConfigAddresses InetAddressIPv6,
                     ethernetInterfaceStatelessAutoConfigAddressesPrefixLen INTEGER
                   }

         ethernetInterfaceStatelessAutoConfigAddressesIndex   OBJECT-TYPE
                    SYNTAX  INTEGER
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Index for stateless Auto-Config addresses.

                    NOTE: If   ethernetInterfaceIPv6StatelessAutoConfigEnabled or
                      ethernetInterfaceIPv6Enabled is currently disabled, this
                    object will show nothing."
                    ::= { ethernetInterfaceStatelessAutoConfigAddressesEntry 1 }

         ethernetInterfaceStatelessAutoConfigAddresses   OBJECT-TYPE
                    SYNTAX   InetAddressIPv6
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "The stateless Auto-Configuration IPv6 address.

                    NOTE: If   ethernetInterfaceIPv6StatelessAutoConfigEnabled or
                      ethernetInterfaceIPv6Enabled is currently disabled, this
                    object will show nothing."
                    ::= { ethernetInterfaceStatelessAutoConfigAddressesEntry 2 }

         ethernetInterfaceStatelessAutoConfigAddressesPrefixLen   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "The stateless Auto-Configration address prefix length.

                    NOTE: If   ethernetInterfaceIPv6StatelessAutoConfigEnabled or
                      ethernetInterfaceIPv6Enabled is currently disabled, this
                    object will show nothing."
                    ::= { ethernetInterfaceStatelessAutoConfigAddressesEntry 3 }


       ddnsStatus   OBJECT-TYPE
                    SYNTAX  INTEGER { disabled(0), enabled(1) }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Dynamic DNS provides the capability for a networked device
                     to notify a domain name server to change, in real time, the
                     active DNS configuration of its configured hostnames, addresses
                     or other information stored in DNS. With Dynamic DNS, host
                     computers gain the capability to notify their respective DNS
                     server of the IP address they have received from a DHCP server
                     or through self-configuration."
                     ::= { networkInterfaces 10 }

       hostName      OBJECT-TYPE
                     SYNTAX  OCTET STRING (SIZE(0..64))
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the DNS host name for this system. This object
                     provides the exact same function as   ethernetInterfaceHostName"
                     ::= { networkInterfaces 11 }

       ddnsDomainToUse	OBJECT-TYPE
                      SYNTAX  INTEGER {
                        dhcp(1),
                        manual(2)
                      }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The domain name to be used with Dynamic DNS. 
                     The value shall be either dhcp or manual"
                     ::= { networkInterfaces 12 }					 
					 
       domainName    OBJECT-TYPE
                     SYNTAX  OCTET STRING
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The user assigned DNS domain name."
                     ::= { networkInterfaces 13 }
     -- ***********************************************************************
     -- TCP/IP Protocol Configuration 
     -- ***********************************************************************
     tcpProtocols  OBJECT IDENTIFIER ::= { networkConfiguration 2 } 
     
      -- ***********************************************************************
      -- SNMP Agent Configuration 
      -- ***********************************************************************
      snmpAgentConfig  OBJECT IDENTIFIER ::= { tcpProtocols 1 } 

       snmpSystemName    OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..48))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 48 byte string that contains the 
                    SNMP agent name. Note: Set snmpSystemAgentEnable
                    to disabled before performing a set of this object." 
                    ::= { snmpAgentConfig 1 }

       snmpSystemContact     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..48))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 48 byte string that contains the 
                    SNMP agent contact name. Note: Set snmpSystemAgentEnable
                    to disabled before performing a set of this object." 
                    ::= { snmpAgentConfig 2 }

       snmpSystemLocation     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..48))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 48 byte string that contains the 
                    SNMP agent location name. Note: Set snmpSystemAgentEnable
                    to disabled before performing a set of this object." 
                    ::= { snmpAgentConfig 3 }

       snmpSystemAgentTrapsDisable  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      trapsEnabled(0),
                      trapsDisabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable SNMP traps. Note: Set snmpSystemAgentEnable
                    to disabled before performing a set of this object." 
                    ::= { snmpAgentConfig 4 }
                    
       -- ***********************************************************************
       -- SNMP Agent Community Configuration 
       -- ***********************************************************************
       snmpAgentCommunityConfig  OBJECT IDENTIFIER ::= { snmpAgentConfig 5 } 


        -- ***********************************************************************
        -- SNMP Community Configuration table
        -- ***********************************************************************

        snmpCommunityTable  OBJECT-TYPE
                              SYNTAX  SEQUENCE OF SnmpCommunityEntry
                              ACCESS  not-accessible
                              STATUS  mandatory
                              DESCRIPTION
                              "Table of SNMP Community entries"
                              ::= {  snmpAgentCommunityConfig 1 }

        snmpCommunityEntry  OBJECT-TYPE
                              SYNTAX  SnmpCommunityEntry 
                              ACCESS  not-accessible
                              STATUS  mandatory
                              DESCRIPTION
                              "DASD temperature threshold entries"
                              INDEX { snmpCommunityEntryIndex }
                              ::= { snmpCommunityTable 1 }
                       
        SnmpCommunityEntry ::= SEQUENCE { 
                     snmpCommunityEntryIndex INTEGER(0..255),
                     snmpCommunityEntryCommunityName OCTET STRING (SIZE(0..15)),
                     snmpCommunityEntryCommunityIpAddress1 OCTET STRING (SIZE(0..63)),
                     snmpCommunityEntryCommunityIpAddress2 OCTET STRING (SIZE(0..63)),
                     snmpCommunityEntryCommunityIpAddress3 OCTET STRING (SIZE(0..63)),
                     snmpCommunityEntryCommunityViewType INTEGER(1..3)
        }
        

        snmpCommunityEntryIndex   OBJECT-TYPE
                                  SYNTAX  INTEGER(0..255) 
                                  ACCESS  read-only
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "Index for SNMP Agent Community entry."  
                                  ::= { snmpCommunityEntry 1 }

        snmpCommunityEntryCommunityName  OBJECT-TYPE
                                  SYNTAX  OCTET STRING (SIZE(0..15))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community entry name. Note: Set snmpSystemAgentEnable
                                  to disabled before performing a set of this object."   
                                  ::= { snmpCommunityEntry 2 }
                                  
        snmpCommunityEntryCommunityIpAddress1  OBJECT-TYPE
                                  SYNTAX  OCTET STRING (SIZE(0..63))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community IP address or host name. 
                                  Can either be a dotted decimal IP string(eg. 9.37.44.2) 
                                  or if DNS is enabled a host name. This field also allows two
                                  wildcard values for read-Traps and write-Read-Traps communities:
                                      0.0.0.0 - allow any IPv4 address
                                      0::0    - allow any IPv6 address
                                  Note: Set snmpSystemAgentEnable to disabled before performing a 
                                  set of this object." 
                                  ::= { snmpCommunityEntry 3 }

        snmpCommunityEntryCommunityIpAddress2  OBJECT-TYPE
                                  SYNTAX  OCTET STRING (SIZE(0..63))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community IP address or host name. 
                                  Can either be a dotted decimal IP string(eg. 9.37.44.2) 
                                  or if DNS is enabled a host name. This field also allows two
                                  wildcard values for read-Traps and write-Read-Traps communities:
                                      0.0.0.0 - allow any IPv4 address
                                      0::0    - allow any IPv6 address
                                  Note: Set snmpSystemAgentEnable
                                  to disabled before performing a set of this object." 
                                  ::= { snmpCommunityEntry 4 }

        snmpCommunityEntryCommunityIpAddress3  OBJECT-TYPE
                                  SYNTAX  OCTET STRING (SIZE(0..63))
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community IP address or host name. 
                                  Can either be a dotted decimal IP string(eg. 9.37.44.2) 
                                  or if DNS is enabled a host name. This field also allows two
                                  wildcard values for read-Traps and write-Read-Traps communities:
                                      0.0.0.0 - allow any IPv4 address
                                      0::0    - allow any IPv6 address
                                  Note: Set snmpSystemAgentEnable
                                  to disabled before performing a set of this object." 
                                  ::= { snmpCommunityEntry 5 }

                -- 4.9.3.1.4.5
          snmpCommunityEntryCommunityViewType  OBJECT-TYPE
                                     SYNTAX  INTEGER {
                                     read-Traps(1),
                                     write-Read-Traps(2),
                                     traps-Only(3)
                                     }
                                     ACCESS  read-write
                                     STATUS  mandatory
                                     DESCRIPTION
                                     "Access Level of the SNMPv1 managers.  Note this parameter
                                     is set for each community.  Therefore all three managers
                                     in the same community have the same access level."
                                     ::= { snmpCommunityEntry 6 }


	 snmpv1SystemAgentEnable  OBJECT-TYPE
                      		SYNTAX  INTEGER {
	                        disabled(0),
        	                enabled(1)
                	        }
                      		ACCESS  read-write
	                        STATUS  mandatory
          	                DESCRIPTION
                               "Disable or enable the SNMPv1 agent.
                    
				Note: To alter any of the configuration settings for the SNMP Agent
				the following procedure should be used: 
				(1)This object should be written with 'disabled'
				(2)Make the modifications to other settings
				(3)This object should be written with 'enabled'
				(4)Restart the remote supervisor adapter
			
				Also note that when this object has a value of enabled 
				that the following is verifed, if this verification fails a error 
				response will be returned for the set of this object and the SNMP
				agent will be left in a disabled state.
				(1)Is there a valid system contact
				(2)Is there a valid system name
				(3)Is there at least one valid community name and for that  
				community name is there one valid IP address or hostname
				"
				::= { snmpAgentConfig 6 }

	 snmpv3SystemAgentEnable  OBJECT-TYPE
                      		  SYNTAX  INTEGER {
                                  disabled(0),
                                  enabled(1)
                                  }
                      		  ACCESS  read-write
                      		  STATUS  mandatory
                      		  DESCRIPTION
                      	          "Disable or enable the SNMPv3 agent.
			
				  Note: To alter any of the configuration settings for the SNMP Agent
				  the following procedure should be used: 
				  (1)This object should be written with 'disabled'
				  (2)Make the modifications to other settings
				  (3)This object should be written with 'enabled'
				  (4)Restart the remote supervisor adapter
			
				  Also note that when this object has a value of enabled 
				  that the following is verifed, if this verification fails a error 
				  response will be returned for the set of this object and the SNMP
				  agent will be left in a disabled state.
				  (1)Is there a valid system contact
				  (2)Is there a valid system name
				  (3)Is there at least one valid community name and for that  
				  community name is there one valid IP address or hostname
				  "
				  ::= { snmpAgentConfig 7 } 


	-- ********************************************************************************
         -- SNMP Agent User Profile Configuration
         -- ********************************************************************************
         
         snmpAgentUserProfileConfig  OBJECT IDENTIFIER ::= { snmpAgentConfig 8 }


          -- ********************************************************************************
          -- SNMP User Profile Configuration table
          -- ********************************************************************************

          snmpUserProfileTable  OBJECT-TYPE
                                SYNTAX  SEQUENCE OF SnmpUserProfileEntry
                                ACCESS  not-accessible
                                STATUS  mandatory
                                DESCRIPTION
                                "Table of SNMPv3 User Profile entries"
                                ::= {  snmpAgentUserProfileConfig 1 }

          snmpUserProfileEntry  OBJECT-TYPE
                                SYNTAX  SnmpUserProfileEntry
                                ACCESS  not-accessible
                                STATUS  mandatory
                                DESCRIPTION
                                "SNMP User Profile entries"
                                INDEX { snmpUserProfileEntryIndex }
                                ::= { snmpUserProfileTable 1 }

          SnmpUserProfileEntry ::= SEQUENCE {
                       snmpUserProfileEntryIndex INTEGER,
                       snmpUserProfileEntryAuthProt INTEGER,
                       snmpUserProfileEntryPrivProt INTEGER,
                       snmpUserProfileEntryPrivPassword OCTET STRING,
                       snmpUserProfileEntryViewType INTEGER,
                       snmpUserProfileEntryIpAddress OCTET STRING
                       }


          snmpUserProfileEntryIndex   OBJECT-TYPE
                                    SYNTAX  INTEGER(0..255)
                                    ACCESS  read-only
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "Index for SNMPv3 Agent User Profile entry."
                                    ::= { snmpUserProfileEntry 1 }

          snmpUserProfileEntryAuthProt   OBJECT-TYPE
                                    SYNTAX  INTEGER {
                                    none (1),
                                    md5 (2), 
                                    sha (3)
                                    }
                                    ACCESS  read-write
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Authentication Protocol 
                                    supported by the user."
                                    ::= { snmpUserProfileEntry 2 }
                                    
            snmpUserProfileEntryPrivProt   OBJECT-TYPE
                                    SYNTAX  INTEGER {
                                    none (1),
                                    des (2),
                                    aes (4)
                                    }
                                    ACCESS  read-write
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Privacy Protocol 
                                    supported by the user. The Privacy Password must be set
                                    and the Authentication Protocol must be md5 or sha
                                    before this field may be set to des or aes."
                                    ::= { snmpUserProfileEntry 3 }
                                    
           snmpUserProfileEntryPrivPassword  OBJECT-TYPE
                                    SYNTAX  OCTET STRING (SIZE(0..31))
                                    ACCESS  read-write
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Privacy password 
                                    for the user.
                                    
                                    NOTE: Value returned for the GET command is 
                                    meaningless for this MIB object for security reason."
                                    ::= { snmpUserProfileEntry 4 }

            snmpUserProfileEntryViewType   OBJECT-TYPE
                                    SYNTAX  INTEGER {
                                    read-Traps(1),
                                    read-Write-Traps(2)
                                    }
                                    ACCESS  read-write
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Access level (Get and Set) 
									of the user. "
                                    ::= { snmpUserProfileEntry 5 }
                                    

           snmpUserProfileEntryIpAddress  OBJECT-TYPE
                                    SYNTAX  OCTET STRING (SIZE(0..63))
                                    ACCESS  read-write
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - IP address or host name.
                                    Can either be a dotted decimal IP string (e.g. 9.37.44.2)
                                    or if DNS is enabled a host name."
                                    ::= { snmpUserProfileEntry 6 }

      -- ***********************************************************************
      -- DNS Configuration 
      -- ***********************************************************************
      dnsConfig  OBJECT IDENTIFIER ::= { tcpProtocols 2 } 

       dnsEnabled   OBJECT-TYPE
                    SYNTAX  INTEGER {
                      dnsDisabled(0),
                      dnsEnabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable the DNS agent.
                    
 	            Note that when this object has a value of enabled 
 	            that the following is verifed, if this verification fails a error 
 	            response will be returned for the set of this object and the DNS
 	            resolver will be left in a disabled state.
 	            (1)Is there at least one valid DNS server IP address 
                    " 
                    ::= { dnsConfig 1 }
                    
       dnsServerIPAddress1   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the primary DNS server IP address."
                    ::= { dnsConfig 2 }
                    
       dnsServerIPAddress2   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the secondary DNS server IP address."
                    ::= { dnsConfig 3 }
                    
       dnsServerIPAddress3   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the tertiary DNS server IP address."
                    ::= { dnsConfig 4 }

         dnsServerIPv6Address1   OBJECT-TYPE
                      SYNTAX  InetAddressIPv6
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Contains the primary IPv6 DNS server address."
                      ::= { dnsConfig 12 }

         dnsServerIPv6Address2   OBJECT-TYPE
                      SYNTAX  InetAddressIPv6
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Contains the secondary IPv6 DNS server address."
                      ::= { dnsConfig 13 }

         dnsServerIPv6Address3   OBJECT-TYPE
                      SYNTAX  InetAddressIPv6
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Contains the tertiary IPv6 DNS server address."
                      ::= { dnsConfig 14 }

         dnsPriority   OBJECT-TYPE
                      SYNTAX  INTEGER {
                        ipv6(1),
                        ipv4(2)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Tells the order host names are resolved. The options are
                      to either first resolve with an IPv6 DNS server or to first
                      resolve with an IPv6 DNS server."
                      ::= { dnsConfig 20 }
      -- ***********************************************************************
      -- SMTP Configuration 
      -- ***********************************************************************
      smtpConfig  OBJECT IDENTIFIER ::= { tcpProtocols 3 } 
      

       smtpServerNameOrIPAddress     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..64))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 64 byte string that contains the 
                    SMTP server Host name or IP address(a.b.c.d)." 
                    ::= { smtpConfig 1 }

                    
     -- ***********************************************************************
     -- Telnet Configuration 
     -- ***********************************************************************

        -- 4.9.3.4.1
        tcpApplicationConfig  OBJECT IDENTIFIER ::= { tcpProtocols 4 }

        -- 4.9.3.4.3
         telnetConnectionCounts   OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        one(1),
                        two(2)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The number of telnet connections that can be active 
                      concurrently."
                      ::= { tcpApplicationConfig 1 }

        -- 4.9.3.4.5
         slpAddrType  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        multicast(0),
                        broadcast(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Set SLP address type to 0 (multicast) or 1 (broadcast). Note that when
                      slpAddrType is set to broadast value then the multicast address set in in
                      slpMulticastAddt will be ignored."
                      ::= { tcpApplicationConfig 2 }

        -- 4.9.3.4.6
         slpMulticastAddr  OBJECT-TYPE
                      SYNTAX  IpAddress
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Service Locator Protocol Multicast address"
                      ::= { tcpApplicationConfig 3 }

     -- ***********************************************************************
     -- TCP Port Assignment
     -- ***********************************************************************
     tcpPortAssignmentCfg    OBJECT IDENTIFIER ::= { tcpProtocols 5 } 
     
         tcpPortsRestoreDefault   OBJECT-TYPE
                      SYNTAX  INTEGER  {
                        execute(1)
                      }  
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Reset all the ports to the factory defaults. SP has to be reset 
		       for change to take effect."
                      ::= { tcpPortAssignmentCfg 1 }
                   
         httpPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "HTTP port number. Default value is 80. Once changed, the url's have to 
                      include :port at the end. SP has to be reset for change to take effect."
                      ::= { tcpPortAssignmentCfg 2 }
                   
         httpsPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SSL port number. Default value is 443. Once changed, the url's have to 
                      include :port at the end. SP has to be reset for change to take effect."
                      ::= { tcpPortAssignmentCfg 3 }
                   
         telnetLegacyCLIPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "telnet port number. Default value is 23. SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 4 }

                   
         sshLegacyCLIPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SSH port number. Default value is 22. SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 6 }

	
                   
         snmpAgentPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Agent port number. Default value is 161. SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 8 }
                   
         snmpTrapsPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Traps port number. Default value is 162. SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 9 }
        
         remvidPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Remote Console port number. Default value is 2000. SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 10 }
        
         ibmSystemDirectorHttpPortAssignment OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "IBM Systems Director Http port number.SP has to be reset for change 
                      to take effect."
                      ::= { tcpPortAssignmentCfg 11 }


         ibmSystemDirectorHttpsPortAssignment OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "IBM Systems Director Https port number.SP has to be reset for change."
                      ::= { tcpPortAssignmentCfg 12 }
        
        
     -- ***********************************************************************
     -- LDAP Clinet Configuration
     -- ***********************************************************************
     
      ldapClientCfg    OBJECT IDENTIFIER ::= { tcpProtocols 6 } 
        
         ldapServer1NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "A NULL terminated 64 byte string that contains the
                      LDAP server host name or IP address (a.b.c.d)."
                      ::= { ldapClientCfg 1 }

         ldapServer1PortNumber   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 2 }
                   
         ldapServer2NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "A NULL terminated 64 byte string that contains the
                      LDAP server host name or IP address (a.b.c.d)."
                      ::= { ldapClientCfg 3 }

         ldapServer2PortNumber   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 4 }
                   
         ldapServer3NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "A NULL terminated 64 byte string that contains the
                      LDAP server host name or IP address (a.b.c.d)."
                      ::= { ldapClientCfg 5 }

         ldapServer3PortNumber   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 6 }
                   
         ldapRootDN     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Distinguished Name for root entry of directory tree. 
                      An example might look like dn=foobar,dn=com."
                      ::= { ldapClientCfg 7 }

         ldapUserSearchBaseDN     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "As part of the user authentication process, it is necessary to search 
                      the LDAP server for one or more attributes associated with a particular 
                      user. Any search request must specify the base DN for the actual search. 
                      This field specifies the base DN which should be used to search the User 
                      directory. An example might look like cn=users,dn=foobar,dn=com. If this 
                      field is left blank, the Root DN will be used as the search base instead.
                      As mentioned, user searches are part of the authentication process. They 
                      are carried out to retrieve information about the user such as login 
                      permissions, callback number, and group memberships. For Version 2.0 LDAP 
                      clients, it is strongly encouraged that this parameter be configured, 
                      otherwise a search using the root DN may not succeed (as seen on Active 
                      Directory servers)."
                      ::= { ldapClientCfg 8 }

         ldapGroupFilter     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This filter is used for group authentication. It specifies what group or 
                      groups that this MM belongs to. If left blank, group authentication is 
                      disabled. Otherwise, group authentication will be performed against the 
                      filter. The filter can be a specific group name (eg. IMMWest), a wildcard (*) 
                      which matches everything, or a wildcard with a prefix (eg. IMM*). The default 
                      filter is IMM*. 
                      After user authentication, group authentication will take place, whereby an 
                      attempt will be made to match the group or groups (that the user belongs to) 
                      to the group filter defined here. If there is no match, the user will not pass 
                      authentication and will be blocked. If there is a match, the login permissions 
                      for the user will be retrieved from the matched group(s), unless the user 
                      already has login permissions assigned directly from the user record retrieved 
                      from the LDAP server."
                      ::= { ldapClientCfg 9 }
	

         ldapBindingMethod  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        anonymousAuthentication(0),
                        clientAuthentication(1),
                        userPrincipalName(2)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "On initial binds to the LDAP server during user authentication, there are 
                      three options:
                      Anonymous authentication: Bind attempt is made without a client DN or password. 
                      If the bind is successful, a search will be requested in order to find an entry 
                      on the LDAP server for the user attempting to login. If an entry is found, a 
                      second attempt to bind will be attempted, this time with the user's DN and 
                      password. If this succeeds, the user is deemed to have passed the user 
                      authentication phase. Group authentication is then attempted if it is enabled.
                      Client authentication: Bind attempt is made with client DN and password 
                      specified by this configuration parameter. If the bind is successful, we 
                      proceed as above.
                      User Principal Name (UPN): Bind attempt is made directly with the credentials 
                      used during the login process. If this succeeds, the user is deemed to have 
                      passed the user authentication phase. Note that for Active Directory servers, 
                      the userid can have the form someuser@somedomain or simply someuser."
                      ::= { ldapClientCfg 10 }

         ldapClientAuthenticationDN     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The initial bind to the LDAP server during user authentication can be 
                      performed with anonymous authentication, client based authentication, or UPN. 
                      The client based option requires a client DN and password as parameters to 
                      the bind request. These parameters are configured here. Note that the password 
                      can be left blank."
                      ::= { ldapClientCfg 11 }

         ldapClientAuthenticationPassword     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..25))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The client authentication password"
                      ::= { ldapClientCfg 12 }

	 ldapRoleBasedSecurityEnabled	      OBJECT-TYPE	
		      SYNTAX  INTEGER {
                        enabled(1),
			disabled(0)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
		      "A value of true for RoleBasedSecurityEnabled indicates enhanced
          	       will be used by the service processor.  A value of false for 
          	       RoleBasedSecurityEnabled indicates the legacy bit mask based 
          	       security is being used."
		      ::= { ldapClientCfg 13 }
	
	ldapServerTargetName		    OBJECT-TYPE	
		      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "When administrator chooses Enhanced Role Based Security authentication model, 
                      he can associate  one IMM with one managed target object in Snap-in (one tool 
                      to configure LDAP users permission) via one target name. The IMM target name can 
                      be looked as alias of IMM, administrator can change it according to his 
                      configuration requirements. This is a string of up to 63 characters (plus the 
                      null character)"
		      ::= { ldapClientCfg 14 }


         ldapUIDsearchAttribute     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "When the binding method selected is Anonymous authentication or Client 
                      authentication, the initial bind to the LDAP server is followed by a search 
                      request aimed at retrieving specific information about the user, including the 
                      user's DN, login permissions, and group ownerships. In order to retrieve this 
                      information, the search request must specify the attribute name used to 
                      represent userids on that server. Specifically, this name is used as a search 
                      filter against the login id entered by the user. This attribute name is 
                      configured here. If this field is left blank, a default of uid is used during 
                      user authentication. 
                      For example, on Active Directory servers, the attribute name used for userids 
                      is often sAMAccoutName. 
                      When the binding method selected is UPN or Strict UPN, this field defaults 
                      automatically to userPrincipalName during user authentication if the userid 
                      entered has the form userid@somedomain."
                      ::= { ldapClientCfg 15 }

         ldapGroupSearchAttribute     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "When the MM Group Filter name is configured, it is necessary to retrieve 
                      from the LDAP server the list of groups that a particular user belongs to. 
                      This is required to do group authentication. In order to retrieve this list, 
                      the search filter sent to the server must specify the attribute name associated 
                      with groups. This field specifies this attribute name. 
                      If this field is left blank, the attribute name in the filter will default 
                      to memberOf."
                      ::= { ldapClientCfg 16 }

         ldapLoginPermissionAttribute     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "When a user successfully authenticates via a LDAP server, it is necessary 
                      to retrieve the login permissions for this user. In order to retrieve these 
                      permissions, the search filter sent to the server must specify the attribute 
                      name associated with login permissions. This field specifies this attribute 
                      name."
                      ::= { ldapClientCfg 17 }
                      
         ldapUseDNSOrPreConfiguredServers     OBJECT-TYPE
                      SYNTAX  INTEGER {
                        usePreConfiguredLDAPServers (0),
                        useDNSToFindLDAPServers (1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The MM contains a Version 2.0 LDAP Client that may be configured to provide 
                      user authentication through one or more LDAP servers. The LDAP server(s) to be 
                      used for authentication can be discovered dynamically or manually pre-configured. 
                      
                      If the usePreConfiguredLDAPServers option is selected, up to 3 LDAP servers can 
                      be configured. Simply enter the server's IP address or hostname (assuming DNS 
                      is enabled).  The port number for each server is optional. If left blank, 
                      the default value of 389 is used for non-secured LDAP connections. For secured 
                      connections, the default is 636. At least one server must be configured.
                      
                      If the useDNSToFindLDAPServers is selected, the mechanisms described by RFC2782 
                      (A DNS RR for specifying the location of services) are applied to find the 
                      server(s). This is known as DNS SRV."
                      ::= { ldapClientCfg 18 }
         
         ldapDomainSource     OBJECT-TYPE
                      SYNTAX  INTEGER {
                        extractSearchDomainFromLoginID (0),
                        useOnlyConfiguredSearchDomainBelow (1),
                        tryLoginFirstThenConfiguredValue (2)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The DNS SRV request sent to the DNS server must specify a domain name. 
                      The LDAP client will determine where to get this domain name based on one 
                      of the following three options: 
                      
                        - extractSearchDomainFromLoginID: With this option, the LDAP client will 
                      use the domain name in the login id. For example, if the login id is 
                      joesmith@mycompany.com, the domain name equals mycompany.com. If the domain 
                      name cannot be extracted, the DNS SRV will fail, causing the user 
                      authentication to fail automatically.
                      
                        - useOnlyConfiguredSearchDomainBelow: With this option, the LDAP client 
                      will use the domain name configured in the Search Domain parameter. 
                      
                        - tryLoginFirstThenConfiguredValue: With this option, the LDAP client will 
                      first attempt to extract the domain name from the login id. If this succeeds, 
                      this domain name will be used in the DNS SRV request. If there is no domain 
                      name present in the login id, the LDAP client will instead use the configured 
                      Search Domain parameter as the domain name in the DNS SRV request. 
                      If nothing is configured, user authentication will fail immediately."
                      ::= { ldapClientCfg 19 }

         ldapSearchDomain     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))  
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This parameter may be used as the domain name in the DNS SRV request, 
                      depending on how the Domain Source parameter is configured."
                      ::= { ldapClientCfg 20 }

         ldapServiceName     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..16))  
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The DNS SRV request sent to the DNS server must also specify a service name. 
                      The configured value will be used for this purpose. If left blank, the default 
                      value used is 'ldap'. Note that the DNS SRV request must also specify a protocol 
                      name. This defaults to 'tcp' and is not configurable."
                      ::= { ldapClientCfg 21 }


        -- ********************************************************************************
        -- NTP Configuration
        -- ********************************************************************************
        ntpConfig  OBJECT IDENTIFIER ::= { tcpProtocols 8 }
        
        -- 4.9.3.8.1
         ntpEnable    OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable the NTP client.  The client will update
                      the IMM system clock at the frequency specified."
                      ::= { ntpConfig 1 }

        -- 4.9.3.8.2
         ntpIpAddressHostname  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 2 }
                                    
        -- 4.9.3.8.3
         ntpUpdateFrequency  OBJECT-TYPE
                      SYNTAX  INTEGER
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "The frequency in minutes that the NTP service runs.
                      The value range is 3 to 1440."
                      ::= { ntpConfig 3 }
                      
        -- 4.9.3.8.5
         ntpUpdateClock  OBJECT-TYPE
                      SYNTAX  INTEGER  {
                        execute(1)
                      }  
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Update the IMM system clock with the specified NTP server.
                      A valid NTP server must be configured first."
                      ::= { ntpConfig 5 }

-- ***********************************************************************
--  System Services
-- ***********************************************************************
    -- ***********************************************************************
    -- System Watch Dog Timers 
    -- ***********************************************************************
    serverTimers OBJECT IDENTIFIER ::= { generalSystemSettings 1 } 

     oSHang       OBJECT-TYPE
                  SYNTAX  INTEGER {
                    disabled(0),
                    twoAndHalfMinutes(150),
                    threeMinutes(180),
                    threeAndHalfMinutes(210),
                    fourMinutes(240),
                    tenMinutes(600)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number, in 1 second intervals, the IMM will  
 	           check to insure the OS is operating properly. 
 	           If the operating system fails to respond within 6 seconds to one 
 	           of these checks, the remote supervisor adapter will generate
 	           an O/S Timeout alert(if enabled) and automatically restart the 
 	           system one time. Once the system is restarted, the O/S Watchdog 
 	           is automatically disabled until the operating
 	           system is shutdown and the server is power cycled."
                   ::= { serverTimers 1 }

     oSLoader     OBJECT-TYPE
                  SYNTAX  INTEGER {
                    disabled(0),
                    oneHalfMinutes(1),
                    oneMinutes(2),
                    oneAndHalfMinutes(3),
                    twoMinutes(4),
                    twoAndHalfMinutes(5),
                    threeMinutes(6),
                    threeAndHalfMinutes(7),
                    fourMinutes(8),
                    fourAndHalfMinutes(9),
                    fiveMinutes(10),
                    sevenAndHalfMinutes(15),
                    tenMinutes(20),
                    fifteenMinutes(30),
                    twentyMinutes(40),
                    thirtyMinutes(60),
                    oneHour(120),
                    twoHours(240)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in 30 second intervals the remote IMM will wait
 	           between completion of POST and the end of loading the OS. 
 	           If this interval is exceeded, the IMM will 
 	           generate a Loader Timeout alert(if enabled) and automatically restart 
 	           the system one time. Once the system is restarted, the
 	           Loader Timeout is automatically disabled until the operating 
 	           system is shutdown and the server is power cycled." 
                   ::= { serverTimers 2 }


    -- ***********************************************************************
    -- PXE Boot 
    -- ***********************************************************************
    networkPXEboot OBJECT-TYPE
                   SYNTAX  INTEGER {
                     networkPXEBootDisabled(0),
                     networkPXEBootEnabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Modify the system's boot sequence for the next system restart
                   in order to attempt a PXE/DHCP network boot.  The system's boot
                   sequence(set via the BIOS settings) will be altered only if the 
                   system is not under PAP (Privileged Access Protection)."
                   ::= { generalSystemSettings 2 } 

-- ***********************************************************************
--  System Power Control
-- ***********************************************************************
    
    -- ***********************************************************************
    -- Power Statistics for the system  
    -- ***********************************************************************
    powerStatistics OBJECT IDENTIFIER ::= { systemPower 1 } 
     currentSysPowerStatus  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      poweredOff(0),
                      poweredOn(255)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Indicates if the system is currently powered on or off."
                    ::= { powerStatistics 1 } 
                    
    
     powerOnHours   OBJECT-TYPE
                    SYNTAX  INTEGER 
                    ACCESS  read-only 
                    STATUS  mandatory
                    DESCRIPTION
                    "Number of hours the system has been powered on."
                    ::= { powerStatistics 2 } 
                 
     restartCount   OBJECT-TYPE
                    SYNTAX  INTEGER 
                    ACCESS  read-only 
                    STATUS  mandatory
                    DESCRIPTION
                    "Number of times the system has been restarted."
                    ::= { powerStatistics 3 } 
    
     systemState OBJECT-TYPE
                    SYNTAX  INTEGER {
			systemPowerOfforStateUnknown(0),
			systemPowerOnorStartingUEFI(1),
			systemInUEFI(2),
			uEFIErrorDetected(3),
			bootingOSorInUnsupportedOS(4),
			oSBooted(5)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Shows the current operational state of the system."
                    ::= { powerStatistics 4 } 
                     
    -- ***********************************************************************
    -- System Power off configuration 
    -- ***********************************************************************
    powerSysConfig OBJECT IDENTIFIER ::= { systemPower 2 } 


     powerSysOffDelay OBJECT-TYPE
                   SYNTAX  INTEGER {
                     noDelay(0),
                     oneHalfMinute(30),
                     oneMinute(60),
                     twoMinutes(120),
                     threeMinutes(180),
                     fourMinutes(240),
                     fiveMinute(300),
                     sevenAndHalfMinutes(450),
                     tenMinutes(600),
                     fifteenMinutes(900),
                     twentyMinutes(1200),
                     thirtyMinutes(1800),
                     oneHour(3600),
                     twoHours(7200)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The number of 1 second interval the IMM will 
                   wait before powering off the system."
                   ::= { powerSysConfig 1 } 


     powerSysOnClockSetting OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The clock setting used to determine when the IMM 
 	           will power on the system. The examples and the format follow:
 	
 	           (1)For example to set the value so the system will power on  
 	           March 4, 2001 at 06:00AM set the value to: '03/04/2001,06:00'.  
 	           In order to insure correct operation, it is advisable for the 
                   user to read the date and time of the IMM 
                   clock before setting this value to a future time. 
 	           (2)Setting the reset value will cause the 
 	           power off timer to be reset and be deactivated. For example 
 	           to reset the clock set the value to: '01/01/2000,00:00',

                   field  contents         range
                   _____  ________         _____
                    1     month           01..12 (reset value - 01)
                    2     separator       '/'
                    3     day             01..31 (reset value - 01)
                    4     separator       '/'
                    5     year            2000..2037 (reset value - 2000) 
                    6     separator       ','
                    7     hour            00..23 (reset value - 00)
                    8     separator       ':'
                    9     minutes         00..59 (reset value - 00)
                   "
                   ::= { powerSysConfig 2 } 
 
    -- ***********************************************************************
    -- System Power off control 
    -- ***********************************************************************
    powerOffSystemControl OBJECT IDENTIFIER ::= { systemPower 3 } 
    
     powerOffWithOsShutdown  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS   write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Power off the system after performing a OS shutdown."
                   ::= { powerOffSystemControl 1 }

     powerOffImmediately  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS   write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Power off the system immediately."
                   ::= { powerOffSystemControl 2 }
                   
    -- ***********************************************************************
    -- System Power on control 
    -- ***********************************************************************
    powerOnSystemControl OBJECT IDENTIFIER ::= { systemPower 4 } 
    
     powerOnImmediately  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Power on the system immediately."
                   ::= { powerOnSystemControl 2 }

    -- ***********************************************************************
    -- Schedule Power Actions 
    -- ***********************************************************************
       powerCyclingSchedule  OBJECT IDENTIFIER ::= { systemPower 5 }
	
       schedulePowerOffWithOsShutdown  OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION	
           "Power Off the system after performing a OS shutdown at specified time and day of the week. 
            Example: Monday,09:00
       
            field  contents         range
            _____  ________         _____
            1     day            EveryDayOfWeek,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Never (reset value - Never)
            2     separator      ','
            3     hour           00..23 (reset value - 00)
            4     separator      ':'
            5     minutes        00..59 (reset value - 00)
            day is case insensitive.
            It is invalid to set a non zero time with day as Never.
            To reset, set as Never,00:00."
	 	           ::= { powerCyclingSchedule  1 }
	
       schedulePowerOnSystem OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-write
                   STATUS  mandatory 
                   DESCRIPTION	
		   "Power On the system at specified time and day of the week.
		    Example: Monday,09:00

            field  contents         range
            _____  ________         _____
            1     day            EveryDayOfWeek,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Never (reset value - Never)
            2     separator      ','
            3     hour           00..23 (reset value - 00)
            4     separator      ':'
            5     minutes        00..59 (reset value - 00)
            day is case insensitive.
            It is invalid to set a non zero time with day as Never.
            To reset, set as Never,00:00."
 		           ::= { powerCyclingSchedule  2 }

-- ***********************************************************************
--  Restart Control
-- ***********************************************************************
    
    shutdownOsThenRestart  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Shutdown the OS and then restart the system and boot the OS."
                   ::= { restartReset 1 } 

    restartSystemImmediately  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Restart the system immediately and then the boot OS."
                   ::= { restartReset 2 } 
                   

    restartSPImmediately  OBJECT-TYPE
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Restart the IMM immediately."
                   ::= { restartReset 3 } 
                   
    resetSPConfigAndRestart  OBJECT-TYPE
                  SYNTAX  INTEGER {
                    execute(1)
                   }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Will cause all the IMM information to
                  be reset to it's initial factory defaults(all previous 
                  configuration information is lost) and the IMM 
                  will be re-started." 
                  ::= { restartReset 4 }

    scheduleShutdownOsThenRestart  OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-write
		   STATUS  mandatory	
                   DESCRIPTION
           "Shutdown the OS and then restart the system and boot the OS
		    at specified Time and Day of the week.
            Example: Monday,09:00

		    field  contents         range
            _____  ________         _____
            1     day            EveryDayOfWeek,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Never (reset value - Never)
            2     separator      ','
            3     hour           00..23 (reset value - 00)
            4     separator      ':'
            5     minutes        00..59 (reset value - 00)
            day is case insensitive.
            It is invalid to set a non zero time with day as Never.
            To reset, set as Never,00:00."
                   ::= { restartReset 5 } 

    resetPowerSchedules OBJECT-TYPE
                   SYNTAX INTEGER {
                    execute(1)
                   }
                   ACCESS write-only
                   STATUS mandatory
                   DESCRIPTION
           "reset all power schedules.
            schedulePowerOnSystem,schedulePowerOffWithOsShutdown, scheduleShutdownOsThenRestart.
            This does not reset powerSysOnClockSetting"
                   ::= { restartReset 6 }
 


-- ***********************************************************************
--  Firmware Update
-- ***********************************************************************
    firmwareUpdateTarget  OBJECT-TYPE
                  SYNTAX  INTEGER {
                    immCard(0) 
                  }  
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Target module whose firmware will be updated."
                  ::= { firmwareUpdate 1 }

    firmwareUpdateTftpServer   OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(0..63))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "IP address of the TFTP server where the firmware file resides.  
                  The address must be entered in a dotted decimal IP string 
                  (eg. 9.37.44.2)."
                  ::= { firmwareUpdate 2 }
    
    firmwareUpdateFileName   OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(0..63))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "File name of the firmware file."
                  ::= { firmwareUpdate 3 }
                     
    firmwareUpdateStart   OBJECT-TYPE
                  SYNTAX INTEGER { 
                    execute(1)
                  }  
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Start updating the firmware of the specified IMM Card.    
                  Note 1: The firmware update might take up to several 
                  minutes to complete.  Do not reset the IMM Card until 
                  the control has been returned.  At this point, the results 
                  will be displayed.  
                  Note 2: Use firmwareUpdateStatus to confirm the status of 
                  the last firmware update initiated by SNMP method.  The 
                  IMM Card must be restarted for the new firmware to 
                  take affect."
                  ::= { firmwareUpdate 4 }


    firmwareUpdateStatus  OBJECT-TYPE
                  SYNTAX OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Get the status of the last firmware update which was 
                  initiated through SNMP method."
                  ::= { firmwareUpdate 5 }



END               
