-- ***************************************************************************
--
-- File         : imm.mib                      
-- Description  : Integrated Management Module mib for SNMP
-- By           : Lenovo
-- Version      : 1.45
-- Date         : Aug 27, 2015
--
--
-- Copyright (c) 2015 Lenovo  All Rights Reserved.
-- Copyright (c) 2015 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:                   
--
--     08/27/15 - Added ipmiConfig, ipmiEnable
--
--     05/13/15 - Added phyPortLinkStatus, phyPortLinkSpeed for Adapter Network Port
--              - Added memoryConfigSpeed, memoryRatedSpeed for System Memory VPD
--              - Added cpuVpdCpuModel for System CPU VPD
--              - Added Full Postal Address support
--              - Added driveRotationRate, driveMediaErrCnt, driveOtherErrCnt, drivePredFailCnt for RAID Drive
--
--     05/05/15 - removed SNMPv2-TC import and modified InetAddressIPv6 
--
--     03/11/15 - Rebranding changes
--                          
--     12/08/14 - Added Subject Alt Names support
--
--     08/08/14 - 07/09/14 - Corrected Raid object syntax errors
--
--     06/26/14 - Corrected sslClientConfigForLDAP OID's  
--              - Added sslCertificateCSRDownloadFormat and description updates
--
--     06/19/14 - Fixed skr skrServerCertificateExpirationDate OID typo and adjust skrServer OIDs
--
--     06/04/14 - Added table to items that have insufficient compliance to the current crypto mode.
--
--     05/23/14 - Added objects for Certificate Removal and Expiration Date
--
--     03/24/14 - Added VLANs for System Management support  GA6
--
--     03/20/14 - Added NSA B cryptoModes  GA6
--
--     03/14/14 - Updated PCIe support. Added RAID Link support. Corrected remoteAccessIdEntryPassword
--                and minimumPasswordLength to support up to 20 characters.
--
--     02/19/14 - Added bootServerF1Setup and smtpServerReversePath  GA6
--
--     01/22/14 - Added PCIe objects
--
--     01/10/14 - Added LAN over USB IP Configuration Objects
--
--     01/08/14 - Added Audit Event Config for Remote Alert Recipients
--
--     12/17/13 - Modified FlashDIMM Objects, and correct previous backed off changes
--
--     12/04/13 - Added unsupported values to configurationManagementStatus object
--              - Changed PowerEntry powerIndex to a 0-index
--
--     11/13/2013 - Added FlashDIMM Objects
--
--     09/30/2013 - Corrected enumerated value names starting with upper case
--
--     09/26/2013 - powerControlSleep edits
--
--     08/07/2013 - Updated scalableComplexPartitionCreateIndex
--
--     07/30/2013 Version - Updated Scalable changes
--        scalableComplexClear and scalableComplexAuotCreate setting
--        scalableComplexNodeSerialNumber size limit
--  
--     06/24/2013 Version - Updated Scalable changes
--       all objects with node key were updated to OCTET STRING (SIZE(4))
--     05/24/2013 Version - Added Scalable changes
--       scalableComplexPartitionStatus - removed "resetting" state
--       scalableComplexNodeState - removed     
--       scalableComplexPartitionActionCreate - updated description
--
--     07/30/2013 Version 1.38c
--     Fixed syntax error in powerTrendingPowerType object
--     Capitalized PowerTrendingSampleEntry object name
--
--     07/25/2013 Version 1.38b 
--     Removed mark and space from portParity
--
--     07/17/2013 Version 1.38a
--     Removed extra commas from lines 1511 and 1560
--
--     07/17/2013 Version 1.39
--     Added sleepS3 state to currentSysPowerStatus
--     Added powerControlSleep
--
--     05/30/2013 Version 1.38
--     Added Storage Key Repository Servers section
--     Added Cryptography Mode section
-- 
--     02/20/2013 Version 1.37   
--     Commented Firmware Update section as IMM1 only 
--     Added Power Management section/objects
--     Added new system health objects  
--     Removed DST setting for Europe/Minsk     
--     Removed "IMM1 only" comment from contactInformation.companyName
--     Extented ldapGroupFilter length to 511
-- 
--     10/29/2012 Version 1.36
--     Removed httpProxyAuthentication object.
--     Added size to autoFTPCallAddr, autoFTPCallUserID, and autoFTPCallPassword
--     Updated the addCallHomeExclusionEvent and rmCallHomeExclusionEvent descriptions
-- 
--     09/18/2012 Version 1.35
--     Added additional objects for Service Advisor:
--       httpProxyAuthentication, contactInformation.phoneExtension, altContactName, 
--       altPhoneNumber, altPhoneExtension, altEmailAddress, machineLocationPhoneNumber,
--       autoFTPCallMode.sftp, testCallHome.generateTestCallHome
--     Marked contactInformation.companyName "IMM1-only"   
--     Marked smtpServerAuthentication, smtpServerAuthenticationUser, 
--       smtpServerAuthenticationPassword, and smtpServerAuthenticationMethod
--       "IMM2 only"
--     Marked remoteAlertIdEmailAddr as "IMM1 limited to 64"
--
--     08/06/2012 Version 1.34
--     Changed remoteAlertIdEmailAddr OCTET STRING(SIZE(0..320))
--
--     07/23/2012 Version 1.33
--     Added Objects for Ethernet VLAN
--     sslConfig object group marked "IMM2 only"
--     ntpIpAddressHostname2,3 and 4 marked "IMM2 only"
--     ldapSearchDomain, removed "IMM2 only"
--     ldapDomainSource marked "IMM2 only"
--
--     07/02/2012 Version 1.32
--     Added Objects for Authenticated SMTP
--
-- ***************************************************************************
        IMM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            OBJECT-TYPE                          FROM RFC-1212
            enterprises                          FROM RFC1155-SMI
            DisplayString                        FROM RFC1213-MIB
            IpAddress                            FROM RFC1155-SMI 
            -- PTE: added following 7/12/2011
            Gauge                                FROM RFC1155-SMI

            -- TEXTUAL-CONVENTION                FROM SNMPv2-TC
            TRAP-TYPE                            FROM RFC-1215;

            InetAddressIPv6 ::= TEXTUAL-CONVENTION
                        DISPLAY-HINT "02x:02x:02x:02x:02x:02x:02x:02x"
                        -- PTE: changed to mandatory
                        STATUS       current
                        -- STATUS       mandatory
                        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))

            EntryStatus ::= INTEGER
                         { valid(1),
                           createRequest(2),
                           underCreation(3),
                           invalid(4)
                         }

              -- The status of a table entry.
              --
              -- Setting this object to the value invalid(4) has the
              -- effect of invalidating the corresponding entry.
              -- That is, it effectively disassociates the mapping
              -- identified with said entry.
              -- It is an implementation-specific matter as to whether
              -- the agent removes an invalidated entry from the table.
              -- Accordingly, management stations must be prepared to
              -- receive tabular information from agents that corresponds
              -- to entries currently not in use.  Proper
              -- interpretation of such entries requires examination
              -- of the relevant EntryStatus object.
              --
              -- An existing instance of this object cannot be set to
              -- createRequest(2).  This object may only be set to
              -- createRequest(2) when this instance is created.  When
              -- this object is created, the agent may wish to create
              -- supplemental object instances to complete a conceptual
              -- row in this table.  Immediately after completing the
              -- create operation, the agent must set this object to
              -- underCreation(3).
              --
              -- Entries shall exist in the underCreation(3) state until

              -- the management station is finished configuring the
              -- entry and sets this object to valid(1) or aborts,
              -- setting this object to invalid(4).  If the agent
              -- determines that an entry has been in the
              -- underCreation(3) state for an abnormally long time,
              -- it may decide that the management station has
              -- crashed.  If the agent makes this decision,
              -- it may set this object to invalid(4) to reclaim the
              -- entry.  A prudent agent will understand that the
              -- management station may need to wait for human input
              -- and will allow for that possibility in its
              -- determination of this abnormally long period.

        -- enterprise group  
        ibm         OBJECT IDENTIFIER ::=   { enterprises 2 }

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

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

        -- 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 }
  
  --This group of objects provides functions Service Advisor
  serviceAdvisor     OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 8 }
  
  --This group of objects provides functions for Scalable Systems
  scaling     OBJECT IDENTIFIER ::= { ibmIntegratedManagementModuleMIB 9 }

-- ****************************************************************************
--  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,
         tempHealthStatus	DisplayString   -- IMM2-only
     }

     tempIndex 			OBJECT-TYPE
         SYNTAX			INTEGER (1..100)
         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-only
         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-only
         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-only
         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-only
         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-only
         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-only
         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}

    tempHealthStatus    OBJECT-TYPE -- IMM2-only
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"A description of the temperature component status."
         ::= { tempEntry 11 }

    -- ************************************************************************
    -- 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,			
         voltHealthStatus       DisplayString   -- IMM2-only   
     }

     voltIndex 			OBJECT-TYPE
         SYNTAX			INTEGER (1..1000)
         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-only
         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-only
         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-only
         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-only
         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-only
         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-only
         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 }

    voltHealthStatus    OBJECT-TYPE -- IMM2-only
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"A description of the voltage component status."
         ::= { voltEntry 11 }	

						
    -- ************************************************************************
    -- 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 (1..100),
	     fanDescr		DisplayString,
	     fanSpeed	    OCTET STRING,
	     fanNonRecovLimitHigh	INTEGER,
	     fanCritLimitHigh	INTEGER,
	     fanNonCritLimitHigh  	INTEGER,
	     fanNonRecovLimitLow	INTEGER,
	     fanCritLimitLow	   	INTEGER,
	     fanNonCritLimitLow	INTEGER,
         fanHealthStatus       DisplayString    -- IMM2-only   
     }

     fanIndex 			OBJECT-TYPE
         SYNTAX			INTEGER (1..100)
         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 }

     fanHealthStatus   OBJECT-TYPE -- IMM2-only
         SYNTAX			DisplayString (SIZE(0..31))
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"A description of the fan component status."
         ::= { fanEntry 10 }	

    -- ************************************************************************
    -- 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 (1..1000)
                 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 (1..1000)
                  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).
                   For IMM2 the string contains both the Build ID and the Version
                   Number, for example, like '1AOO3A v1.0.1'. "
                  ::= { 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 (1..1000)
                  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 (1..1000)
                  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}
                  hostMACAddress              DisplayString}

      hostMACAddressIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  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,
                  cpuVpdHealthStatus DisplayString,  --IMM2-only
                  cpuVpdCpuModel DisplayString  --IMM2-only
      }

      cpuVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  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 }

      cpuVpdHealthStatus  OBJECT-TYPE   --IMM2-only
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu health status.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 11 }

      cpuVpdCpuModel  OBJECT-TYPE   --IMM2-only
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System cpu model.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemCPUVpdEntry 12 }

      -- ***********************************************************************
      -- 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,
                  memoryHealthStatus DisplayString,  -- IMM2-only
                  memoryConfigSpeed INTEGER,  -- IMM2-only
                  memoryRatedSpeed INTEGER  -- IMM2-only
      }

      memoryVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  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 }
     
      memoryHealthStatus    OBJECT-TYPE -- IMM2-only
                  SYNTAX    DisplayString (SIZE(0..31))
                  ACCESS    read-only
                  STATUS    mandatory
                  DESCRIPTION	"A description of the memory component status."
                  ::= { systemMemoryVpdEntry 8 }	

      memoryConfigSpeed  OBJECT-TYPE -- IMM2-only
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System configured memory clock speed in MHz.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 9 }

      memoryRatedSpeed  OBJECT-TYPE -- IMM2-only
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System rated memory clock speed in MB/s.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 10 }

     -- ********************************************************************************
     -- Users  IMM2-only
     -- ********************************************************************************
     --
     users  OBJECT IDENTIFIER ::= { monitors 6 }

      -- ********************************************************************************
      -- IMM Users  IMM2-only
      -- ********************************************************************************
      --
      immUsers  OBJECT IDENTIFIER ::= { users 1 }

       currentlyLoggedInTable  OBJECT-TYPE
                     SYNTAX  SEQUENCE OF CurrentlyLoggedInEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                     "Table of IMM users currently logged in."
                     ::= {  immUsers 1 }

       currentlyLoggedInEntry  OBJECT-TYPE
                     SYNTAX CurrentlyLoggedInEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                     "IMM users currently logged in entries."
                     INDEX { currentlyLoggedInEntryIndex }
                     ::= { currentlyLoggedInTable 1 }

       CurrentlyLoggedInEntry ::= SEQUENCE {
                    currentlyLoggedInEntryIndex INTEGER,
                    currentlyLoggedInEntryUserId OCTET STRING,
                    currentlyLoggedInEntryAccMethod OCTET STRING
                    }

       currentlyLoggedInEntryIndex  OBJECT-TYPE
                          SYNTAX  INTEGER(0..255)
                          ACCESS  read-only
                          STATUS  mandatory
                          DESCRIPTION
                          "Index for IMM users currently logged in."

                          ::= { currentlyLoggedInEntry 1 }

       currentlyLoggedInEntryUserId   OBJECT-TYPE
                          SYNTAX  OCTET STRING (SIZE(0..64))
                          ACCESS  read-only
                          STATUS  mandatory
                          DESCRIPTION
                          "Name for IMM users currently logged in."
                          ::= { currentlyLoggedInEntry 2 }

       currentlyLoggedInEntryAccMethod  OBJECT-TYPE
                          SYNTAX  OCTET STRING (SIZE(0..64))
                          ACCESS  read-only
                          STATUS  mandatory
                          DESCRIPTION
                          "Access method for IMM users currently logged in."

                          ::= { currentlyLoggedInEntry 3 }


    -- ********************************************************************************
    -- LEDs  IMM2-only
    -- ********************************************************************************
    leds OBJECT IDENTIFIER ::= { monitors 8 }


      identityLED OBJECT-TYPE
                   SYNTAX INTEGER {
                     off(0),
                     on(1),
                     blinking(2),
                     notAvailable(3)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Indicates whether the front panel identity LED is on,off,
                   or blinking and allows user to change it."

                   ::= { leds 1 }

      allLEDsTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF AllLEDsEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of LEDs detailed information."
                    ::= { leds 2 }

       allLEDsEntry OBJECT-TYPE
                     SYNTAX  AllLEDsEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                     "LEDs Details entry"
                     INDEX { ledIndex }
                     ::= { allLEDsTable 1 }

       AllLEDsEntry ::= SEQUENCE {
                   ledIndex INTEGER,
                   ledIdentifier INTEGER,
                   ledLabel DisplayString,
                   ledState INTEGER,
                   ledColor DisplayString
                   }

       ledIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The LED index number.
                  For consistent results, view as a table and not as individual entries."
                  ::= { allLEDsEntry 1 }

       ledIdentifier  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The unique identifier for this LED
                  For consistent results, view as a table and not as individual entries."
                  ::= { allLEDsEntry 2 }


       ledLabel OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Text label for a LED.
                  For consistent results, view as a table and not as individual entries."
                  ::= { allLEDsEntry 4 }

       ledState OBJECT-TYPE
                  SYNTAX  INTEGER {
                     off(0),
                     on(1),
                     blinking(2)
                   }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Text description which denotes color or on/off/blink state for a LED.
                  For consistent results, view as a table and not as individual entries."
                  ::= { allLEDsEntry 5 }

       ledColor OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Color of this LED.
                  For consistent results, view as a table and not as individual entries."
                  ::= { allLEDsEntry 6 }

      informationLED OBJECT-TYPE
                   SYNTAX INTEGER {
                     off(0),
                     on(1),
                     blinking(2),
                     notAvailable(3)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Indicates whether the front panel Information LED is on,off,
                   or blinking and allows user to change it. The only value the user is 
                   allowed to enter is 0 for off.  User may not turn this LED on or cause
                   it to blink."

                   ::= { leds 3 }


-- ***********************************************************************
--  OS Failure screen capture  IMM2-only
-- ***********************************************************************
    osFailureCapture OBJECT IDENTIFIER ::= { monitors 9 }

    osFailureCaptureTftpServer    OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..63))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "To save  the OS Failure screen if one has been captured, 
                                set the IP address or host name of the TFTP server where
                                the file should be transferred. The address must be entered in a
                                dotted decimal IP string (e.g. 9.37.44.2), or equivalent for IPv6."
                                ::= { osFailureCapture 1 }

    osFailureCaptureFileName      OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..254))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "File name of the saved capture file on the target system."
                                ::= { osFailureCapture 2 }

    osFailureCaptureSaveStart    OBJECT-TYPE
                                SYNTAX INTEGER {
                                  execute(1),
                                  execute-nowait(2)
                                }
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "Start saving the configuration file to the specified target file
                                and system.  The file will exist if the OS Hang or OS Loader
                                watchdog is enabled and been tripped. 
                                Using execute will cause the SNMP client to wait for the save
                                operation to complete.
                                Using execute-nowait will not cause the SNMP client to wait for
                                the save to complete. Instead it will save the configuration in
                                 the background.

                                Note 1: Both osFailureCaptureTftpServer and 
                                osFailureCaptureFileName must be set. 
                                Note 2: Depending on the target, it might take up to several
                                seconds for the save operation to complete.  
                                Note 3: Use osFailureCaptureStatus to confirm the status of
                                the last operation.
                                
                                NOTE: Value returned for the GET command is meaningless
                                for this MIB object."
                                ::= { osFailureCapture 3 }


    osFailureCaptureSaveStatus        OBJECT-TYPE
                                SYNTAX INTEGER {
                                  success(0),
                                  failed(1),
                                  nocapture(2)
                                }
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Get the status of the last save operation which
                                was initiated through SNMP method. Returns nocapture(2)
                                if there is no OS Failure capture screen to save."
                                ::= { osFailureCapture 4 }
  
    -- ********************************************************************************
    -- Power Management
    -- ********************************************************************************
    fuelGauge OBJECT IDENTIFIER ::= { monitors 10 }

     -- ********************************************************************************
     -- Fuel Gauge
     -- ********************************************************************************
     fuelGaugeInformation  OBJECT IDENTIFIER ::= { fuelGauge 1 }

     
      fuelGaugePowerCappingPolicySetting  OBJECT-TYPE
                 SYNTAX  INTEGER {
                   noPowerLimit(0),
                   staticPowerLimit(1)
                   }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "Power Capping Policy.

                 No Power Limit - The maximum power limit will be determined by the active Power Redundancy policy.

                 Static Power Limit - Sets the overall system power limit. In a situation where powering on a component 
                 would cause the limit to be exceeded, the component would not be permitted to power on."

                 ::= { fuelGaugeInformation 1 }

      fuelGaugeStaticPowerPcapSoftMin  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays power capping soft minimum value."
                 ::= { fuelGaugeInformation 2 }

      fuelGaugeStaticPowerPcapMin  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays power capping minimum value."
                 ::= { fuelGaugeInformation 3 }
                 
      fuelGaugeStaticPowerPcapCurrentSetting  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "This field is used to display or set the current power capping value."
                 ::= { fuelGaugeInformation 4 }

      fuelGaugeStaticPowerPcapMax  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays power capping maximum value."
                 ::= { fuelGaugeInformation 5 }
                 
      fuelGaugeStaticPowerPcapMode  OBJECT-TYPE
                 SYNTAX  INTEGER {
                   dc(0),
                   ac(1)
                   }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "This field is used to display or set the all Power Cap settings to AC or DC."
                 ::= { fuelGaugeInformation 6 }

      fuelGaugeSystemMaxPower  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the system maximum power available value."
                 ::= { fuelGaugeInformation 7 }

      fuelGaugePowerRemaining  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays power remaining value."
                 ::= { fuelGaugeInformation 8 }
                 
      fuelGaugeTotalPowerAvaialble  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the calculated total remaining power available value."
                 ::= { fuelGaugeInformation 9 }                 
                 
      fuelGaugeTotalPowerInUse  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays total power in use value."
                 ::= { fuelGaugeInformation 10 }
                
      fuelGaugeTotalThermalOutput  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the total thermal output value calculated from the AC power in use."
                 ::= { fuelGaugeInformation 11 }   
                 
      fuelGaugePowerConsumptionCpu  OBJECT-TYPE
                 SYNTAX  INTEGER 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the power consumption of the processors."
                 ::= { fuelGaugeInformation 12 }
      
      fuelGaugePowerConsumptionMemory  OBJECT-TYPE
      
                 SYNTAX  INTEGER 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the power consumption of the memory."
                 ::= { fuelGaugeInformation 13 }
                 
      fuelGaugePowerConsumptionOther  OBJECT-TYPE
                 SYNTAX  INTEGER 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the power consumption of other entities than processors and memory."
                 ::= { fuelGaugeInformation 15 }
                        

   -- ********************************************************************************
   -- Power Policy Table
   -- ********************************************************************************
      powerPolicyInformation  OBJECT IDENTIFIER ::= { fuelGauge 2 }

      powerPolicyTable OBJECT-TYPE
                 SYNTAX  SEQUENCE OF PowerPolicyEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
		 "Table of Power Policy information for all power domains. Reading this
                  table information about the available power policies that can be
                  configured and which is currently selected. The powerPolicyActivate 
                  object can also be SET to select which policy should be active."
                 ::= { powerPolicyInformation 1 }

      powerPolicyEntry OBJECT-TYPE
                 SYNTAX  PowerPolicyEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
                 "Power Policy Entry"
                 INDEX { powerPolicyIndex }
                 ::= { powerPolicyTable 1 }

      PowerPolicyEntry ::= SEQUENCE {
                 powerPolicyIndex INTEGER,
                 powerPolicyName OCTET STRING,
                 powerPolicyPwrSupplyFailureLimit INTEGER,
                 powerPolicyMaxPowerLimit INTEGER,
                 powerPolicyEstimatedUtilization INTEGER,
                 powerPolicyActivate INTEGER
                 }

      powerPolicyIndex  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "The unique idenitifier of a row in the powerPolicyTable."
                 ::= { powerPolicyEntry 1 }

      powerPolicyName  OBJECT-TYPE
                 SYNTAX  OCTET STRING
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
  		 "The short name of the power policy. The following are the possible
                  names and their detailed description:

		  Power Module Redundancy
                        Intended for a single AC power source into the chassis
                        where each Power Module is on its own dedicated circuit.
                        Total allowed power draw is limited to one less than the
                        number of Power Modules when more than one Power Module is
                        present. One Power Module can fail without affecting blade
                        operation. Multiple Power Module failures can cause
                        the chassis to power off. Note that some blades may not be
                        allowed to power on if doing so would exceed the policy power
                        limit.

		  Power Module Redundancy with Blade Throttling Allowed
                        Very similar to the Power Module Redundancy policy. This
                        policy allows you to draw more total power; however, capable
                        blades may be allowed to throttle down if one Power Module fails.

		  Basic Power Management
                        Total allowed power is higher than other policies and is limited only
                        by the total power capacity of all the Power Modules up to the maximum
                        of chassis power rating. This is the least conservative approach, since
                        it does not provide any protection for AC power source or Power Module
                        failure. If any single power supply fails, blade and/or chassis
                        operation may be affected."
                 ::= { powerPolicyEntry 2 }

      powerPolicyPwrSupplyFailureLimit  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
		 "The maximum number of power supplies that can fail in a chassis
                  while still providing redundancy."
                 ::= { powerPolicyEntry 3 }

      powerPolicyMaxPowerLimit  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
		 "The maximum power available (in watts), based on the number of power modules and
                  the Power Management Policy setting."
                 ::= { powerPolicyEntry 4 }

      powerPolicyEstimatedUtilization  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "The estimated utilization (as a percentage) based on current power usage."
                 ::= { powerPolicyEntry 5 }

      powerPolicyActivate  OBJECT-TYPE
                 SYNTAX  INTEGER {
                   disabled(0),
                   enabled(1)
                 }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "When read, this object provides the status of this power policy. If the
                  value is enabled(1), it means this is the active power policy for the
                  associated domain. When set to a value of enabled(1), the power policy
                  will be made the active one for the associated domain. A set of disabled(0)
                  is not allowed.

                  The SET may fail when the user goes from a less restrictive policy
                  to a more restrictive policy, e.g. no power management to redundant power
                  modules.

                  This happens because the IMM might have allocated more power for components
                  in the less restrictive policy. Then if a user wants to go to a more restrictive
                  policy, the power available may be lower than what was already allocated.

                  The SET should always succeed if a user goes from a more restrictive to
                  a less restrictive policy."
                 ::= { powerPolicyEntry 6 }    

     -- ********************************************************************************
     -- Power Domain Power Trending 
     -- ********************************************************************************
      powerPowerTrending  OBJECT IDENTIFIER ::= { fuelGauge 3 }
 
        powerTrendingPeriod  OBJECT-TYPE
                 SYNTAX  INTEGER  {
                        lastHour(0),
                        last6Hours(1),
                        last12Hours(2),
                        last24Hours(3)
                 }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "Specify time period for power domain 1 power trending information
                 table view.

                 NOTE: This time period should be configured before displaying the
                 following Power Trending Information table for Power Domain."
                 ::= { powerPowerTrending 1 }
                 
        powerTrendingPowerType OBJECT-TYPE
                 SYNTAX  INTEGER {
                   dc(0),
                   ac(1)
                   }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                 "This field is used to display or set the power type displayed in the Power Trending Table."
                 ::= { powerPowerTrending 2 }
                 

     -- ********************************************************************************
     -- Power Domain Power Trending Table
     -- ********************************************************************************
       powerTrendingSampleTable  OBJECT-TYPE
                SYNTAX  SEQUENCE OF PowerTrendingSampleEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                "Table of Power Domain 1 Power Trending Information."
                ::= { powerPowerTrending 3 }

       powerTrendingSampleEntry OBJECT-TYPE
                SYNTAX PowerTrendingSampleEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                "Power Domain 1 Power Trending Sample entry."
                INDEX { powerTrendingSampleIndex }
                ::= { powerTrendingSampleTable 1 }

       PowerTrendingSampleEntry ::= SEQUENCE {
                powerTrendingSampleIndex INTEGER,
                powerTrendingSampleTimeStamp OCTET STRING,
                powerTrendingSampleAve INTEGER,
                powerTrendingSampleMin INTEGER,
                powerTrendingSampleMax INTEGER
                }

       powerTrendingSampleIndex  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Sample Table Index."
                ::= { powerTrendingSampleEntry 1 }

       powerTrendingSampleTimeStamp  OBJECT-TYPE
                SYNTAX  OCTET STRING
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Sample Table Timestamp."
                ::= { powerTrendingSampleEntry 2 }

       powerTrendingSampleAve  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Average Power."
                ::= { powerTrendingSampleEntry 3 }

       powerTrendingSampleMin  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Minimum Power."
                ::= { powerTrendingSampleEntry 4 }

       powerTrendingSampleMax  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Maximum Power."
                ::= { powerTrendingSampleEntry 5 }  
    
  -- ***********************************************************************
  --  Power Module  IMM2-only
  -- ***********************************************************************
    powerModule OBJECT IDENTIFIER ::= { monitors 11 }

    powerNumber     OBJECT-TYPE
         SYNTAX     Gauge
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION    "The present number of rows in the power module table."
         ::= { powerModule 1 }

    powerTable      OBJECT-TYPE
         SYNTAX     SEQUENCE OF PowerEntry
         ACCESS     not-accessible
         STATUS     mandatory
         DESCRIPTION	"This table contains power inventory information."
         ::= { powerModule 2 }

    powerEntry      OBJECT-TYPE
         SYNTAX     PowerEntry
         ACCESS     not-accessible
         STATUS     mandatory
         DESCRIPTION	"Each row contains parameters related to a power module inventory channel."
         INDEX      { powerIndex }
         ::= { powerTable 1 }

    PowerEntry ::=
         SEQUENCE {
	     powerIndex             INTEGER (0..100),
	     powerFruName           DisplayString,
         powerPartNumber        DisplayString,
         powerFRUNumber         DisplayString,
         powerFRUSerialNumber   DisplayString,
		 powerHealthStatus      DisplayString   
         }

    powerIndex      OBJECT-TYPE
         SYNTAX     INTEGER (0..100)
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"This column is used to identify a particular power module inventory channel."
         ::= { powerEntry 1 }

    powerFruName    OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"power module FRU name."
         ::= { powerEntry 2 }

    powerPartNumber OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"power module Part Number. View as a table and not as individual entries for consistent results."
         ::= { powerEntry 3 }

    powerFRUNumber  OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"power module FRU Number.  View as a table and not as individual entries for consistent results."
         ::= { powerEntry 4 }

    powerFRUSerialNumber    OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"power module Serial Number. View as a table and not as individual entries for consistent results."
         ::= { powerEntry 5 }
         
    powerHealthStatus	OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"A description of the power module status."
         ::= { powerEntry 6 }	

  -- ***********************************************************************
  --  Disk  IMM2-only
  -- ***********************************************************************
    disks OBJECT IDENTIFIER ::= { monitors 12 }  
    
    diskNumber      OBJECT-TYPE
         SYNTAX     Gauge
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"The present number of rows in the disk module table."
         ::= { disks 1 }

    diskTable      OBJECT-TYPE
         SYNTAX     SEQUENCE OF DiskEntry
         ACCESS     not-accessible
         STATUS     mandatory
         DESCRIPTION	"This table contains disk inventory information."
         ::= { disks 2 }

    diskEntry       OBJECT-TYPE
         SYNTAX     DiskEntry
         ACCESS     not-accessible
         STATUS     mandatory
         DESCRIPTION	"Each row contains parameters related to a disk module inventory channel."
         INDEX      { diskIndex }
         ::= { diskTable 1 }

    DiskEntry ::=
         SEQUENCE {
	     diskIndex         INTEGER (0..100),
	     diskFruName        DisplayString,
		 diskHealthStatus   DisplayString   
         }

    diskIndex       OBJECT-TYPE
         SYNTAX     INTEGER (0..100)
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"This column is used to identify a particular 
				disk module inventory channel."
         ::= { diskEntry 1 }

    diskFruName     OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"disk module FRU name."
         ::= { diskEntry 2 }
         
    diskHealthStatus    OBJECT-TYPE
         SYNTAX     DisplayString (SIZE(0..31))
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION	"A description of the disk module status."
         ::= { diskEntry 3 }	

  -- ********************************************************************************
  -- Local Storage  IMM2-only
  -- ********************************************************************************

     localStorage  OBJECT IDENTIFIER ::= { monitors 13 }  
     
     -- ********************************************************************************
     -- RAID Group  IMM2-only. Only the platform supports the OOB RAID function and
     -- RAID cards, this table can be queried.
     -- ********************************************************************************
	 
     raid  OBJECT IDENTIFIER ::= { localStorage 1 }

     -- ********************************************************************************
     -- Physical Resource: The properties of RAID Controller  IMM2-only
     -- ********************************************************************************

    raidOOBCapable     OBJECT-TYPE
         SYNTAX    INTEGER {
                   disabled(0),
                   enabled(1)
                 }
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION    "If raidOOBCapable is disabled, all the RAID information is not available."
         ::= { raid 1 }
     
    raidControllerTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidControllerEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Local Storage RAID Controller information."
            ::= { raid 2 }

    raidControllerEntry     OBJECT-TYPE
            SYNTAX     RaidControllerEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Controller Entry."
            INDEX { controllerIndex }
            ::= { raidControllerTable 1 }

    RaidControllerEntry ::= SEQUENCE {
            controllerIndex       INTEGER,
            ctrlName              DisplayString,  
            ctrlVPDProdName       DisplayString,
            ctrlFWPkgVersion      DisplayString,
            ctrlBatBCK            INTEGER,
            ctrlVPDManufacture    DisplayString,
            ctrlVPDUUID           DisplayString,
            ctrlVPDMachineType    DisplayString,
			ctrlVPDModel          DisplayString,
            ctrlVPDSerialNo       DisplayString,
            ctrlVPDFRUNo          DisplayString,
            ctrlVPDPartNo         DisplayString,
            ctrlCacheMdlStatus    DisplayString,
            ctrlCacheMdlMemSize   DisplayString,
            ctrlCacheMdlSerialNo  DisplayString,
            ctrlPCISlotNo         INTEGER,
            ctrlPCIBusNo          INTEGER,
            ctrlPCIDevNo          INTEGER,
            ctrlPCIFuncNo         INTEGER,
            ctrlPCIDevID          DisplayString,
            ctrlPCISubDevID       DisplayString,
            ctrlBatBCKProdName    DisplayString,
            ctrlBatBCKManufacture DisplayString,
            ctrlBatBCKStatus      DisplayString,
            ctrlBatBCKType        DisplayString,
            ctrlBatBCKChem        DisplayString,
            ctrlBatBCKSerialNo    DisplayString,
            ctrlBatBCKChgCap      DisplayString,
            ctrlBatBCKDgnChgCap   DisplayString,
            ctrlBatBCKCrtTemp     DisplayString,
			ctrlBatBCKFirmware    DisplayString,
			ctrlBatBCKDgnVoltage  DisplayString,
			ctrlBatBCKVoltage     DisplayString,
			ctrlBatCurrent        DisplayString,
            ctrlFWNames           DisplayString,
            ctrlPortDetails       DisplayString,
            ctrlStoragepools      DisplayString,
            ctrlDrives            DisplayString
    }
     
    controllerIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID controller."
            ::= { raidControllerEntry 1 }
            
    ctrlName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to offer a name of one RAID controller."
            ::= { raidControllerEntry 2 }
      
    ctrlVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular RAID controller."
            ::= { raidControllerEntry 3 }

    ctrlFWPkgVersion     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Firmware Package Version of a particular RAID controller."
            ::= { raidControllerEntry 4 }

    ctrlBatBCK     OBJECT-TYPE
            SYNTAX     INTEGER {
             uninstalled(0),
             installed(1)
                 }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Whether Battery Backup of a particular RAID controller is installed."
            ::= { raidControllerEntry 5 }
  
  
    ctrlVPDManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of a particular RAID controller."
            ::= { raidControllerEntry 6 }

    ctrlVPDUUID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Device ID (UUID) of a particular RAID controller."
            ::= { raidControllerEntry 7 }

    ctrlVPDMachineType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model Type/Model of a particular RAID controller."
            ::= { raidControllerEntry 8 }
			
	ctrlVPDModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model Type/Model of a particular RAID controller."
            ::= { raidControllerEntry 9 }

    ctrlVPDSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial Number of a particular RAID controller."
            ::= { raidControllerEntry 10 }

    ctrlVPDFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU Number of a particular RAID controller."
            ::= { raidControllerEntry 11 }

    ctrlVPDPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part Number of a particular RAID controller."
            ::= { raidControllerEntry 12 }

    ctrlCacheMdlStatus     OBJECT-TYPE
            SYNTAX     DisplayString 
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Cache Model Status of a particular RAID controller."
            ::= { raidControllerEntry 13 }

    ctrlCacheMdlMemSize     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Cache Model Memory Size of a particular RAID controller."
            ::= { raidControllerEntry 14 }

    ctrlCacheMdlSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Cache Model Serial Number of a particular RAID controller."
            ::= { raidControllerEntry 15 }

    ctrlPCISlotNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Slot Number of a particular RAID controller."
            ::= { raidControllerEntry 16 }

    ctrlPCIBusNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Bus Number of a particular RAID controller."
            ::= { raidControllerEntry 17 }

    ctrlPCIDevNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device Number of a particular RAID controller."
            ::= { raidControllerEntry 18 }

    ctrlPCIFuncNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Function Number of a particular RAID controller."
            ::= { raidControllerEntry 19 }

    ctrlPCIDevID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device ID of a particular RAID controller."
            ::= { raidControllerEntry 20 }

     ctrlPCISubDevID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Device ID of a particular RAID controller."
            ::= { raidControllerEntry 21 }

     ctrlBatBCKProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 22 }

    ctrlBatBCKManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 23 }

    ctrlBatBCKStatus     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Status of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 24 }

    ctrlBatBCKType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Battery Type of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 25 }

    ctrlBatBCKChem     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Chemistry of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 26 }

    ctrlBatBCKSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial Number of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 27 }

    ctrlBatBCKChgCap     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Charge Capacity of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 28 }

	ctrlBatBCKFirmware    OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Firmware Info of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 29 }
			
	ctrlBatBCKDgnVoltage  OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Designed Voltage of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 30 }
			
	ctrlBatBCKVoltage     OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Voltage of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 31 }
			
	ctrlBatCurrent        OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Current of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 32 }
			
    ctrlBatBCKDgnChgCap     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Design Charge Capacity of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 33 }

    ctrlBatBCKCrtTemp     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Current degree Celsius temperature of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 34 }

    ctrlFWNames     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "All the Firmware Names of a particular RAID controller."
            ::= { raidControllerEntry 35 }

    ctrlPortDetails     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "All the Port Details of a particular RAID controller, including Port Address and Port Controller Type."
            ::= { raidControllerEntry 36 }

    ctrlStoragepools     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The storage pools list of a particular RAID controller."
            ::= { raidControllerEntry 37 }

    ctrlDrives     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical drives list of a particular RAID controller."
            ::= { raidControllerEntry 38 }

    -- ********************************************************************************
    -- Physical Resource: The properties of RAID Driver  IMM2-only
    -- ********************************************************************************

    raidDriveTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidDriveEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Logic Storage RAID Drive information."
            ::= { raid 3 }

    raidDriveEntry     OBJECT-TYPE
            SYNTAX     RaidDriveEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Drive Entry."
            INDEX { driveIndex }
            ::= { raidDriveTable 1 }

    RaidDriveEntry ::= SEQUENCE {
            driveIndex             INTEGER,
            driveName              DisplayString,
            driveVPDProdName       DisplayString,
            driveState             DisplayString,
            driveSlotNo            INTEGER,
            driveDeviceID          DisplayString,
            driveDiskType          DisplayString,
            driveMediaType         DisplayString,
            driveSpeed             DisplayString,
            driveCurTemp           DisplayString,
            driveHealthStataus     DisplayString,
            driveCapacity          DisplayString,
            driveVPDManufacture    DisplayString,
            driveEnclosureID       DisplayString,
            driveVPDMachineType    DisplayString,
            driveVPDModel          DisplayString,
            driveVPDSerialNo       DisplayString,
            driveVPDFRUNo          DisplayString,
            driveVPDPartNo         DisplayString,
            driveFWNames           DisplayString,
            driveRotationRate      DisplayString,
            driveMediaErrCnt       Gauge,
            driveOtherErrCnt       Gauge,
            drivePredFailCnt       Gauge
    }

    driveIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID drive."
            ::= { raidDriveEntry 1 }
   
    driveName    OBJECT-TYPE
         SYNTAX   DisplayString
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION   "A particular drive name."
         ::= { raidDriveEntry 2 }

    driveVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular RAID drive."
            ::= { raidDriveEntry 3 }

    driveState     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The State of a particular RAID drive."
            ::= { raidDriveEntry 4 }

    driveSlotNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Slot No. of a particular RAID drive."
            ::= { raidDriveEntry 5 }

	driveDeviceID   OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Device ID of a particular RAID drive."
            ::= { raidDriveEntry 6 }
	
    driveDiskType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Disk Type of a particular RAID drive."
            ::= { raidDriveEntry 7 }

    driveMediaType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Media Type of a particular RAID drive."
            ::= { raidDriveEntry 8 }

    driveSpeed     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Speed of a particular RAID drive."
            ::= { raidDriveEntry 9 }

    driveCurTemp     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Current degree Celsius temperature of a particular RAID drive."
            ::= { raidDriveEntry 10 }

    driveHealthStataus     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Health Status of a particular RAID drive."
            ::= { raidDriveEntry 11 }

    driveCapacity     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Capacity of a particular RAID drive."
            ::= { raidDriveEntry 12 }

    driveVPDManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of a particular RAID drive."
            ::= { raidDriveEntry 13 }
			
    driveEnclosureID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Enclosure ID of a particular RAID drive."
            ::= { raidDriveEntry 14 }

    driveVPDMachineType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Machine type of a particular RAID drive."
            ::= { raidDriveEntry 15 }
			
	driveVPDModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model of a particular RAID drive."
            ::= { raidDriveEntry 16 }

    driveVPDSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial No. of a particular RAID drive."
            ::= { raidDriveEntry 17 }

    driveVPDFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU No. of a particular RAID drive."
            ::= { raidDriveEntry 18 }

    driveVPDPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part No. of a particular RAID drive."
            ::= { raidDriveEntry 19 }

    driveFWNames     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "All the Firmware Names of a particular RAID drive."
            ::= { raidDriveEntry 20 }

    driveRotationRate     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Rotation Rate of a particular RAID drive."
            ::= { raidDriveEntry 21 }

    driveMediaErrCnt     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Media Error Count of a particular RAID drive."
            ::= { raidDriveEntry 22 }

    driveOtherErrCnt     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Other Error Count of a particular RAID drive."
            ::= { raidDriveEntry 23 }

    drivePredFailCnt     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Predication Fail Count of a particular RAID drive."
            ::= { raidDriveEntry 24 }
			
    -- *************************************************************************************
    -- Physical Resource: The properties of RAID Controller Firmwares information  IMM2-only
    -- *************************************************************************************

    raidControllerFirmwareTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Logic Storage RAID Controller Firmware information."
            ::= { raid 4 }

    raidFirmwareEntry     OBJECT-TYPE
            SYNTAX     RaidFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Firmware Entry."
            INDEX { firmwareIndex }
            ::= { raidControllerFirmwareTable 1 }
      
    RaidFirmwareEntry ::= SEQUENCE {
            firmwareIndex     INTEGER,
            fwName            DisplayString,
            ctrlName          DisplayString,            
            fwDescription     DisplayString,
            fwManufacture     DisplayString,
            fwVersion         DisplayString,
            fwReleaseDate     DisplayString
    }
   
    firmwareIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 1 }
  
    fwName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 2 }
   
    ctrlName    OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The controller name of the firmwares."
            ::= { raidFirmwareEntry 3 }

    fwDescription     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Description of a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 4 }

    fwManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 5 }

    fwVersion     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Version of a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 6 }

    fwReleaseDate     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Release Date of a particular RAID Controller firmware."
            ::= { raidFirmwareEntry 7 }
      
      
    -- *************************************************************************************
    -- Physical Resource: The properties of RAID Drive Firmwares information  IMM2-only
    -- ********************************************************************************

    raidDriveFirmwareTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidDriveFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Logic Storage RAID Drive Firmware information."
            ::= { raid 5 }

    raidDriveFirmwareEntry     OBJECT-TYPE
            SYNTAX     RaidDriveFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Drive Firmware Entry."
            INDEX { firmwareIndex }
            ::= { raidDriveFirmwareTable 1 }
      
    RaidDriveFirmwareEntry ::= SEQUENCE {
            firmwareIndex     INTEGER,
            fwName            DisplayString,
            driveName         DisplayString,
            fwDescription     DisplayString,
            fwManufacture     DisplayString,
            fwVersion         DisplayString,
            fwReleaseDate     DisplayString
     }
   
    firmwareIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 1 }
  
    fwName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 2 }

    driveName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The drive name of the firmwares."
            ::= { raidDriveFirmwareEntry 3 }

    fwDescription     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Description of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 4 }

    fwManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 5 }

    fwVersion     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Version of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 6 }

    fwReleaseDate     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Release Date of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 7 }
			
			
    -- ********************************************************************************
    -- Physical Resource: The properties of RAID Storagepool information  IMM2-only
    -- ********************************************************************************
   
    raidStoragepoolTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidStoragepoolEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Logic Storage RAID Storagepool information."
            ::= { raid 6 }

    raidStoragepoolEntry     OBJECT-TYPE
            SYNTAX     RaidStoragepoolEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Storagepool Entry."
            INDEX { storagepoolIndex }
            ::= { raidStoragepoolTable 1 }
      
    RaidStoragepoolEntry ::= SEQUENCE {
            storagepoolIndex        INTEGER,
            storagepoolName         DisplayString,
			controllerName          DisplayString,
            storagepoolState        DisplayString,
            storagepoolCapacity     DisplayString,
            storagepoolVols         DisplayString,
            storagepoolDrives       DisplayString
    }
   
    storagepoolIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID storagepool."
            ::= { raidStoragepoolEntry 1 }
  
    storagepoolName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The name of a particular RAID storagepool."
            ::= { raidStoragepoolEntry 2 }
    controllerName      OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The controller name of the storagepool."
            ::= { raidStoragepoolEntry 3 }
    storagepoolState     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The RAID State of a particular RAID storagepool."
            ::= { raidStoragepoolEntry 4 }

    storagepoolCapacity     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Capacity of a particular RAID storagepool, including total capacity and free capacity."
            ::= { raidStoragepoolEntry 5 }

    storagepoolVols     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The volumes list of a particular RAID storagepool."
            ::= { raidStoragepoolEntry 6 }

    storagepoolDrives     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The physical drives list of a particular RAID storagepool."
            ::= { raidStoragepoolEntry 7 }

    -- ********************************************************************************
    -- Physical Resource: The properties of RAID Volume information  IMM2-only
    -- ********************************************************************************

    raidVolumeTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF RaidVolumeEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Logic Storage RAID Volume information."
            ::= { raid 7 }

    raidVolumeEntry     OBJECT-TYPE
            SYNTAX     RaidVolumeEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Volume Entry."
            INDEX { volumeIndex }
            ::= { raidVolumeTable 1 }
      
    RaidVolumeEntry ::= SEQUENCE {
            volumeIndex      INTEGER,
            volumeName       DisplayString,
			controllerName   DisplayString,
            volumeStatus     DisplayString,
            volumeCapacity   DisplayString,
			volumeStripSize  DisplayString,
            volumeBootable    DisplayString
     }
   
    volumeIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID volume."
            ::= { raidVolumeEntry 1 }

    volumeName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular RAID volume."
            ::= { raidVolumeEntry 2 }
    
	controllerName    OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The controller name of the volume."
            ::= { raidVolumeEntry 3 }
	
    volumeStatus     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Status of a particular RAID volume."
            ::= { raidVolumeEntry 4 }

    volumeCapacity     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Capacity of a particular RAID volume."
            ::= { raidVolumeEntry 5 }
    
	volumeStripSize     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The strip size of the RAID volume."
            ::= { raidVolumeEntry 6 }
	
    volumeBootable     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Whether the RAID volume is bootable."
            ::= { raidVolumeEntry 7 } 
            
     -- ***********************************************************************
     --  FlashDIMM  IMM2-only
     -- ***********************************************************************
                        
        flashdimm OBJECT IDENTIFIER ::= { localStorage 2 }  
    
        fdNumber      OBJECT-TYPE
             SYNTAX     Gauge
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"The present number of rows in the disk flashdimm table."
             ::= { flashdimm 1 }

        fdTable      OBJECT-TYPE
             SYNTAX     SEQUENCE OF FdEntry
             ACCESS     not-accessible
             STATUS     mandatory
             DESCRIPTION	"This table contains flashdimm inventory information."
             ::= { flashdimm 2 }

        fdEntry       OBJECT-TYPE
             SYNTAX     FdEntry
             ACCESS     not-accessible
             STATUS     mandatory
             DESCRIPTION	"Each row contains parameters related to a flashdimm module inventory channel."
             INDEX      { diskIndex }
             ::= { fdTable 1 }

        FdEntry ::=
             SEQUENCE {
             fdIndex         INTEGER (1..100),
             fdFruName        DisplayString,
             fdHealthStatus   DisplayString,
             fdOpState        DisplayString,
             fdCapacity       DisplayString,
             fdModelType      DisplayString,
             fdPartNum        DisplayString,
             fdFruSerialNum   DisplayString,
             fdManufID        DisplayString,
             fdTemp           DisplayString,
             fdWarrWrites     DisplayString,
             fdWriteEndurance DisplayString,
             fdFwLevel        DisplayString
             }

        fdIndex       OBJECT-TYPE
             SYNTAX     INTEGER (1..100)
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"This column is used to identify a particular 
        			flashdimm module inventory channel."
             ::= { fdEntry 1 }

        fdFruName     OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"flashdimm module FRU name."
             ::= { fdEntry 2 }
             
        fdHealthStatus OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module health status."
             ::= { fdEntry 3 }	

        fdOpState     OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module operation status."
             ::= { fdEntry 4 }	

        fdCapacity    OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module capacity."
             ::= { fdEntry 5 }	

        fdModelType   OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module type."
             ::= { fdEntry 6 }	

        fdPartNum     OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module part number."
             ::= { fdEntry 7 }	

        fdFruSerialNum OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module serial number."
             ::= { fdEntry 8 }	

        fdManufID     OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module manufacture id."
             ::= { fdEntry 9 }	

        fdTemp        OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module temperature."
             ::= { fdEntry 10 }	

        fdWarrWrites  OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module warranty writes."
             ::= { fdEntry 11 }	

        fdWriteEndurance  OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module write endurance."
             ::= { fdEntry 12 }	

        fdFwLevel     OBJECT-TYPE
             SYNTAX     DisplayString (SIZE(0..31))
             ACCESS     read-only
             STATUS     mandatory
             DESCRIPTION	"A description of the flashdimm module status."
             ::= { fdEntry 13 }	

    -- ********************************************************************************
    --    Adapter  IMM2-only
    -- ********************************************************************************

    adapters OBJECT IDENTIFIER ::= { monitors 14 }
         
     
    -- *************************************************************************************
    -- Physical Resource: The properties of Adapters generic information  IMM2-only
    -- ********************************************************************************

    adapterOOBCapable     OBJECT-TYPE
            SYNTAX     INTEGER{
                disable(0),
                enable(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "If adapterOOBCapable is disabled, all the adapter information is not available."
            ::= { adapters 1 }

    adapterGenericTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterGenericEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of all adapters generic information"
            ::= { adapters 2 }
            
    adapterGenericEntry     OBJECT-TYPE
            SYNTAX     AdapterGenericEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Adapters generic information entry."
            INDEX { adapterGenericIndex }
            ::= { adapterGenericTable 1 }

    AdapterGenericEntry ::= SEQUENCE {
            adapterGenericIndex         INTEGER,
            adapterVPDProdName          DisplayString,
            adapterSlotNo               INTEGER,
            adapterLocation             DisplayString,
            adapterCardInterface        DisplayString
    }

    adapterGenericIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular PCI adapter."
            ::= { adapterGenericEntry 1 }

    adapterVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular PCI adapter. And if the Product Name contains PFA, PFA is in HEX."
            ::= { adapterGenericEntry 2 }
            
    adapterSlotNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This Slot No. of a particular PCI adapter"
            ::= { adapterGenericEntry 3 }

    adapterLocation     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Location of a particular PCI adapter."
            ::= { adapterGenericEntry 4 }
   
    adapterCardInterface     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Card Interface of a particular PCI adapter."
            ::= { adapterGenericEntry 5 }
            
    -- *************************************************************************************
    -- Firmware Information: The properties of Network Function information  IMM2-only
    -- ********************************************************************************            

    adapterNetworkFunctionTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterNetworkFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Network Function information."
            ::= { adapters 3 }

    adapterNetworkFunctionEntry     OBJECT-TYPE
            SYNTAX     AdapterNetworkFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Network function information entry."
            INDEX { networkAdapterIndex }
            ::= { adapterNetworkFunctionTable 1 }
      
    AdapterNetworkFunctionEntry ::= SEQUENCE {
            networkAdapterIndex         INTEGER,
            networkVPDProdName          DisplayString,
            adapterVPDProdName          DisplayString,
            networkVPDManufacturer      DisplayString,
            networkVPDUUID              DisplayString,
            networkVPDModel             DisplayString,
            networkVPDSerialNo          DisplayString,
            networkVPDFRUNo             DisplayString,
            networkVPDPartNo            DisplayString,
            networkFoDUID               DisplayString,
            networkSupportHotPlug       INTEGER,
            networkPhysicalPortNumber   INTEGER,
            networkMaxPortNumber        INTEGER,
            networkPortNumber           INTEGER,
            networkMaxDataWidth         INTEGER,
            networkPackageType          DisplayString,
            networkPCIBusNo             INTEGER,
            networkPCIDevNo             INTEGER,
            networkPCIFuncNo            INTEGER,
            networkPCIVendorId          DisplayString,
            networkPCIDevId             DisplayString,
            networkPCIDevType           DisplayString,
            networkPCIRevId             DisplayString,
            networkPCISubVendorId       DisplayString,
            networkPCISubDevId          DisplayString,
            networkPCISlotDesignation   DisplayString
     }
    
    networkAdapterIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular network function."
            ::= { adapterNetworkFunctionEntry 1 }
            
    networkVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of a particular network function and PFA is in HEX."
            ::= { adapterNetworkFunctionEntry 2 }

    adapterVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular adapter providing this function. And if the Product Name contains PFA, PFA is in HEX."
            ::= { adapterNetworkFunctionEntry 3 }
            
    networkVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular network function."
            ::= { adapterNetworkFunctionEntry 4 }

    networkVPDUUID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The UUID of a particular network function."
            ::= { adapterNetworkFunctionEntry 5 }
   
    networkVPDModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model of a particular network function."
            ::= { adapterNetworkFunctionEntry 6 }
            
    networkVPDSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 7 }

    networkVPDFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 8 }
   
    networkVPDPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 9 }
            
    networkFoDUID        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FoD UID of a particular network function."
            ::= { adapterNetworkFunctionEntry 10 }
            
    networkSupportHotPlug     OBJECT-TYPE
            SYNTAX     INTEGER {
               false(0),
               true(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates whether the network function supports hot plug."
            ::= { adapterNetworkFunctionEntry 11 }

    networkPhysicalPortNumber     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Port Number of a particular network function."
            ::= { adapterNetworkFunctionEntry 12 }

    networkMaxPortNumber     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Max Port Number of a particular network function."
            ::= { adapterNetworkFunctionEntry 13 }

    networkPortNumber     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Port Number of a particular network function."
            ::= { adapterNetworkFunctionEntry 14 }

    networkMaxDataWidth     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Maximum Data Width in Gbps of a particular network funtion."
            ::= { adapterNetworkFunctionEntry 15 }

    networkPackageType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Package Type of a particular network function."
            ::= { adapterNetworkFunctionEntry 16 }
           
    networkPCIBusNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Bus No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 17 }
            
    networkPCIDevNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 18 }
            
    networkPCIFuncNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Function No. of a particular network function."
            ::= { adapterNetworkFunctionEntry 19 }

    networkPCIVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Vendor ID of a particular network function."
            ::= { adapterNetworkFunctionEntry 20 }
            
    networkPCIDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device ID of a particular network function."
            ::= { adapterNetworkFunctionEntry 21 }

    networkPCIDevType        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device Type of a particular network function."
            ::= { adapterNetworkFunctionEntry 22 }

    networkPCIRevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Revision ID of a particular network function."
            ::= { adapterNetworkFunctionEntry 23 }

    networkPCISubVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Vendor ID of a particular network function."
            ::= { adapterNetworkFunctionEntry 24 }

    networkPCISubDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Device ID of a particular network function."
            ::= { adapterNetworkFunctionEntry 25 }

    networkPCISlotDesignation        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Slot Designation of a particular network function."
            ::= { adapterNetworkFunctionEntry 26 }
           
    -- *************************************************************************************
    -- Physical Resource: The Port information of Network Function  IMM2-only
    -- ********************************************************************************

    adapterNetworkPortTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterNetworkPortEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Ports of Network Function information."
            ::= { adapters 4 }

    adapterNetworkPortEntry     OBJECT-TYPE
            SYNTAX     AdapterNetworkPortEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Ports of Network Function information entry."
            INDEX { portIndex }
            ::= { adapterNetworkPortTable 1 }
      
    AdapterNetworkPortEntry ::= SEQUENCE {
            portIndex                  INTEGER,
            networkVPDProdName         DisplayString,
            phyPortNo                  INTEGER,
            phyPortConnector           DisplayString,
            phyPortBurnedinAddress     DisplayString,
            portNo                     INTEGER,
            portMaxDataSize            Gauge,
            portPermanentAddress       DisplayString,
            portNetworkAddress         DisplayString,
            portLinkTechnology         DisplayString,
            portvNICMode               DisplayString,
            portMaxSpeed               DisplayString,
            portProtocolType           DisplayString,
            portCurrentProtocol        DisplayString,
            portFCoEPermanentAddress   DisplayString,
            portFCoENetworkAddress     DisplayString,
            portConnectionType         DisplayString,
            portRole                   DisplayString,
            portTargetRelativePortNo   Gauge,
            phyPortLinkStatus          DisplayString,
            phyPortLinkSpeed           DisplayString
     }
   
    portIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular network port."
            ::= { adapterNetworkPortEntry 1 }
    
    networkVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of the network function for this port and PFA is in HEX."
            ::= { adapterNetworkPortEntry 2 }
    
    phyPortNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Port No. in the network function for this port."
            ::= { adapterNetworkPortEntry 3 }
            
    phyPortConnector     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Port Connector Layout in the network function for this port."
            ::= { adapterNetworkPortEntry 4 }

    phyPortBurnedinAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Permanent (burned-In) Address of a particular network port."
            ::= { adapterNetworkPortEntry 5 }

    portNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Port No. of this network port in the network function."
            ::= { adapterNetworkPortEntry 6 }

    portMaxDataSize     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Port Max Data Size of this network port in the network function."
            ::= { adapterNetworkPortEntry 7 }

    portPermanentAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Permanent Address of a particular network port."
            ::= { adapterNetworkPortEntry 8 }

    portNetworkAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Network Address of a particular network port."
            ::= { adapterNetworkPortEntry 9 }
   
    portLinkTechnology     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Link Technology of a particular network port."
            ::= { adapterNetworkPortEntry 10 }

    portvNICMode     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "If the logical port vNIC mode is Virtual Fabric mode, Switch Independent mode, 
                      or Unified Fabric Protocol mode, this column returns 1(enabled), otherwise, the columen
                      returns 0(disabled)"
            ::= { adapterNetworkPortEntry 11 }

    portMaxSpeed     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Maximum Bandwidth in Gbps of a particular network port."
            ::= { adapterNetworkPortEntry 12 }

    portProtocolType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Protocol Type of a particular network port."
            ::= { adapterNetworkPortEntry 13 }

    portCurrentProtocol     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Current Work Protocol of a particular network port."
            ::= { adapterNetworkPortEntry 14 }

    portFCoEPermanentAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FCoE Permanent Address of a particular network port."
            ::= { adapterNetworkPortEntry 15 }

    portFCoENetworkAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FCoE Network Address of a particular network port."
            ::= { adapterNetworkPortEntry 16 }
   
    portConnectionType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Connection Type of a particular network port if its current work protocol is FC or FCoE."
            ::= { adapterNetworkPortEntry 17 }
   
    portRole     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Port Role of a particular network port if its current work protocol is FC or FCoE."
            ::= { adapterNetworkPortEntry 18 }
   
    portTargetRelativePortNo     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Target Relative Port No. of a particular network port if its current work protocol is FC or FCoE."
            ::= { adapterNetworkPortEntry 19 }   

    phyPortLinkStatus   OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     " The Physical Port Link Status in the network function for this port."
            ::= { adapterNetworkPortEntry 20 }

    phyPortLinkSpeed    OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     " The Physical Port Link Speed in the network function for this port. "
            ::= { adapterNetworkPortEntry 21 }
            
    -- *************************************************************************************
    -- Physical Resource: The properties of GPU Function information  IMM2-only
    -- ********************************************************************************

    adapterGPUFunctionTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterGPUFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of GPU Function information."
            ::= { adapters 5 }

    adapterGPUFunctionEntry     OBJECT-TYPE
            SYNTAX     AdapterGPUFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "GPU function information entry."
            INDEX { gpuAdapterIndex }
            ::= { adapterGPUFunctionTable 1 }
      
    AdapterGPUFunctionEntry ::= SEQUENCE {
            gpuAdapterIndex             INTEGER,
            gpuVPDProdName              DisplayString,
            adapterVPDProdName          DisplayString,
            gpuVPDManufacturer          DisplayString,
            gpuVPDUUID                  DisplayString,
            gpuVPDModel                 DisplayString,
            gpuVPDSerialNo              DisplayString,
            gpuVPDFRUNo                 DisplayString,
            gpuVPDPartNo                DisplayString,
            gpuFoDUID                   DisplayString,
            gpuSupportHotPlug           INTEGER,
            gpuVideoMemorySize          DisplayString,
            gpuVideoMemoryType          DisplayString,
            gpuChipNumber               INTEGER,
            gpuMaxDataWidth             INTEGER,
            gpuPackageType              DisplayString,
            gpuPCIBusNo                 INTEGER,
            gpuPCIDevNo                 INTEGER,
            gpuPCIFuncNo                INTEGER,
            gpuPCIVendorId              DisplayString,
            gpuPCIDevId                 DisplayString,
            gpuPCIDevType               DisplayString,
            gpuPCIRevId                 DisplayString,
            gpuPCISubVendorId           DisplayString,
            gpuPCISubDevId              DisplayString,
            gpuPCISlotDesignation       DisplayString
     }
   
    gpuAdapterIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular GPU function."
            ::= { adapterGPUFunctionEntry 1 }
    
    gpuVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of a particular GPU function and PFA is in HEX."
            ::= { adapterGPUFunctionEntry 2 }

    adapterVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular adapter providing this function. And if the Product Name contains PFA, PFA is in HEX."
            ::= { adapterGPUFunctionEntry 3 }
            
    gpuVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular GPU function."
            ::= { adapterGPUFunctionEntry 4 }

    gpuVPDUUID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The UUID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 5 }
   
    gpuVPDModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model of a particular GPU function."
            ::= { adapterGPUFunctionEntry 6 }
            
    gpuVPDSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 7 }

    gpuVPDFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 8 }
   
    gpuVPDPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 9 }
            
    gpuFoDUID        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FoD UID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 10 }
            
    gpuSupportHotPlug     OBJECT-TYPE
            SYNTAX     INTEGER {
               false(0),
               true(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates whether the GPU function supports hot plug."
            ::= { adapterGPUFunctionEntry 11 }
  
    gpuVideoMemorySize     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Video Memory Size of a particular GPU function."
            ::= { adapterGPUFunctionEntry 12 }

    gpuVideoMemoryType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Video Memory Type of a particular GPU function."
            ::= { adapterGPUFunctionEntry 13 }

    gpuChipNumber     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Chip Number of a particular GPU function."
            ::= { adapterGPUFunctionEntry 14 }

    gpuMaxDataWidth     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Maximum Data Width in Gbps of a particular GPU funtion."
            ::= { adapterGPUFunctionEntry 15 }

    gpuPackageType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Package Type of a particular GPU function."
            ::= { adapterGPUFunctionEntry 16 }
           
    gpuPCIBusNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Bus No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 17 }
            
    gpuPCIDevNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 18 }
            
    gpuPCIFuncNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Function No. of a particular GPU function."
            ::= { adapterGPUFunctionEntry 19 }

    gpuPCIVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Vendor ID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 20 }

    gpuPCIDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device ID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 21 }

    gpuPCIDevType        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device Type of a particular GPU function."
            ::= { adapterGPUFunctionEntry 22 }

    gpuPCIRevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Revision ID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 23 }
            
    gpuPCISubVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Vendor ID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 24 }
            
    gpuPCISubDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Device ID of a particular GPU function."
            ::= { adapterGPUFunctionEntry 25 }

    gpuPCISlotDesignation        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Slot Designation of a particular GPU function."
            ::= { adapterGPUFunctionEntry 26 }
            
    -- *************************************************************************************
    -- Physical Resource: The Chip information of GPU function IMM2-only
    -- ********************************************************************************

    adapterGPUChipTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterGPUChipEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of Chips of GPU Function information."
            ::= { adapters 6 }

    adapterGPUChipEntry     OBJECT-TYPE
            SYNTAX     AdapterGPUChipEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "GPU function chip information entry."
            INDEX { chipIndex }
            ::= { adapterGPUChipTable 1 }
      
    AdapterGPUChipEntry ::= SEQUENCE {
            chipIndex                INTEGER,
            gpuVPDProdName           DisplayString,
            chipNo                   INTEGER,
            chipName                 DisplayString,
            chipFamily               DisplayString,
            chipManufacturer         DisplayString,
            chipCoresEnabled         INTEGER,
            chipMaxClockSpeed        Gauge,
            chipExtBusClockSpeed     Gauge,
            chipAddressWidth         INTEGER,
            chipDataWidth            INTEGER,
            chipFormFactor           DisplayString,
            chipModel                DisplayString,
            chipSerialNo             DisplayString,
            chipFRUNo                DisplayString,
            chipPartNo               DisplayString,
            chipUniqueID             DisplayString
     }
   
    chipIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular GPU chip"
            ::= { adapterGPUChipEntry 1 }
    
    gpuVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of the GPU function for this chip and PFA is in HEX."
            ::= { adapterGPUChipEntry 2 }
    
    chipNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Index of the GPU chip in the GPU adapter."
            ::= { adapterGPUChipEntry 3 }

    chipName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular GPU chip."
            ::= { adapterGPUChipEntry 4 }
  
    chipFamily     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Family Name of a particular GPU chip."
            ::= { adapterGPUChipEntry 5 }

    chipManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular GPU chip."
            ::= { adapterGPUChipEntry 6 }
   
    chipCoresEnabled     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates whether enable cores of a particular GPU chip."
            ::= { adapterGPUChipEntry 7 }

    chipMaxClockSpeed     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Maximum Clock Speed in MHz of a particular GPU chip."
            ::= { adapterGPUChipEntry 8 }

    chipExtBusClockSpeed     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The External Bus Clock Speed in MHz of a particular GPU chip."
            ::= { adapterGPUChipEntry 9 }
   
    chipAddressWidth     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Address Width of a particular GPU chip."
            ::= { adapterGPUChipEntry 10 }
            
    chipDataWidth     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Data Width of a particular GPU chip."
            ::= { adapterGPUChipEntry 11 }

    chipFormFactor     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Form Factor of a particular GPU chip."
            ::= { adapterGPUChipEntry 12 }
   
    chipModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model of a particular GPU chip."
            ::= { adapterGPUChipEntry 13 }
            
    chipSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial No. of a particular GPU chip."
            ::= { adapterGPUChipEntry 14 }

    chipFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU No. of a particular GPU chip."
            ::= { adapterGPUChipEntry 15 }

    chipPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part No. of a particular GPU chip."
            ::= { adapterGPUChipEntry 16 }

    chipUniqueID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Unique ID of a particular GPU chip."
            ::= { adapterGPUChipEntry 17 }    
            
    -- *************************************************************************************
    -- Physical Resource: The properties of RAID Function information  IMM2-only
    -- ********************************************************************************

    adapterRAIDFunctionTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterRAIDFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of RAID Function information."
            ::= { adapters 7 }

    adapterRAIDFunctionEntry     OBJECT-TYPE
            SYNTAX     AdapterRAIDFunctionEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID function information entry."
            INDEX { raidAdapterIndex }
            ::= { adapterRAIDFunctionTable 1 }
      
    AdapterRAIDFunctionEntry ::= SEQUENCE {
            raidAdapterIndex             INTEGER,
            raidVPDProdName              DisplayString,
            adapterVPDProdName           DisplayString,
            raidVPDManufacturer          DisplayString,
            raidVPDUUID                  DisplayString,
            raidVPDModel                 DisplayString,
            raidVPDSerialNo              DisplayString,
            raidVPDFRUNo                 DisplayString,
            raidVPDPartNo                DisplayString,
            raidFoDUID                   DisplayString,
            raidSupportHotPlug           INTEGER,
            raidMaxDataWidth             INTEGER,
            raidPackageType              DisplayString,
            raidPCIBusNo                 INTEGER,
            raidPCIDevNo                 INTEGER,
            raidPCIFuncNo                INTEGER,
            raidPCIVendorId              DisplayString,
            raidPCIDevId                 DisplayString,
            raidPCIDevType               DisplayString,
            raidPCIRevId                 DisplayString,
            raidPCISubVendorId           DisplayString,
            raidPCISubDevId              DisplayString,
            raidPCISlotDesignation       DisplayString
     }
   
    raidAdapterIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID function."
            ::= { adapterRAIDFunctionEntry 1 }
    
    raidVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of a particular RAID function and PFA is in HEX."
            ::= { adapterRAIDFunctionEntry 2 }

    adapterVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular adapter providing this function. And if the Product Name contains PFA, PFA is in HEX."
            ::= { adapterRAIDFunctionEntry 3 }
           
    raidVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 4 }

    raidVPDUUID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The UUID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 5 }
   
    raidVPDModel     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Model of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 6 }
            
    raidVPDSerialNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Serial No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 7 }

    raidVPDFRUNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FRU No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 8 }
   
    raidVPDPartNo     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Part No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 9 }
            
    raidFoDUID        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FoD UID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 10 }
            
    raidSupportHotPlug     OBJECT-TYPE
            SYNTAX     INTEGER {
               false(0),
               true(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates whether the RAID function supports hot plug."
            ::= { adapterRAIDFunctionEntry 11 }

    raidMaxDataWidth     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Maximum Data Width in Gbps of a particular RAID funtion."
            ::= { adapterRAIDFunctionEntry 12 }

    raidPackageType     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Package Type of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 13 }
         
    raidPCIBusNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Bus No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 14 }
            
    raidPCIDevNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 15 }
            
    raidPCIFuncNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Function No. of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 16 }

    raidPCIVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Vendor ID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 17 }
            
    raidPCIDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device ID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 18 }

    raidPCIDevType        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Device Type of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 19 }
            
    raidPCIRevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Revision ID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 20 }
            
    raidPCISubVendorId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Vendor ID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 21 }  
            
    raidPCISubDevId        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Subsystem Device ID of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 22 }

    raidPCISlotDesignation        OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The PCI Slot Designation of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 23 }             
            
    -- *************************************************************************************
    -- Firmware Information: The properties of PCI function firmware information  IMM2-only
    -- ********************************************************************************

    adapterFirmwareTable     OBJECT-TYPE
            SYNTAX     SEQUENCE OF AdapterFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Table of PCI Function Firmware information."
            ::= { adapters 8 }

    adapterFirmwareEntry     OBJECT-TYPE
            SYNTAX     AdapterFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "Adapter Firmware Entry."
            INDEX { adapterFwIndex }
            ::= { adapterFirmwareTable 1 }
      
    AdapterFirmwareEntry ::= SEQUENCE {
            adapterFwIndex          INTEGER,
            functionVPDProdName     DisplayString,
            adapterFwName           DisplayString,
            adapterFwClassification DisplayString,
            adapterFwDescription    DisplayString,
            adapterFwManufacture    DisplayString,
            adapterFwVersion        DisplayString,
            adapterFwReleaseDate    DisplayString,
            adapterFwSoftwareID     DisplayString
    }
   
    adapterFwIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular function firmware."
            ::= { adapterFirmwareEntry 1 }

    functionVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name and PFA of a particular function for this firmware and PFA is in HEX."
            ::= { adapterFirmwareEntry 2 }
  
    adapterFwName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The name of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 3 }
  
    adapterFwClassification     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The classification of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 4 }

    adapterFwDescription     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The description of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 5 }

    adapterFwManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The manufacturer of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 6 }

    adapterFwVersion     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The version of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 7 }
           
    adapterFwReleaseDate     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The release date of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 8 }
            
    adapterFwSoftwareID     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Software ID of a particular PCI function firmware."
            ::= { adapterFirmwareEntry 9 }    
            
                            
    -- ***********************************************************************
    -- Event Log Information  common to IMM1 and IMM2
    -- ***********************************************************************
    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 (1..1000000)
                  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 }

    -- ***********************************************************************
    -- Event Log Information  IMM2-only 
    -- ***********************************************************************

    eventLogTftpServer    OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(0..63))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "To save  the eventLog if it is not empty, 
                  set the IP address or host name of the TFTP server where
                  the file should be transferred. The address must be entered in a
                  dotted decimal IP string (e.g. 9.37.44.2), or equivalent for IPv6."
                  ::= { eventLog 4 }

    eventLogFileName      OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(0..254))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "File name of the saved log file on the target system."
                  ::= { eventLog 5 }

    eventLogSaveStart    OBJECT-TYPE
                  SYNTAX INTEGER {
                    execute(1),
                    execute-nowait(2)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Start saving the eventLog file to the specified target file
                  and system.  
                  Using execute will cause the SNMP client to wait for the save
                  operation to complete.
                  Using execute-nowait will not cause the SNMP client to wait for
                  the save to complete. Instead it will save the configuration in
                   the background.

                  Note 1: Both eventLogTftpServer and 
                  eventLogFileName must be set. 
                  Note 2: Depending on the target, it might take up to several
                  seconds for the save operation to complete.  
                  Note 3: Use eventLogStatus to confirm the status of                            
                  the last operation.
                  
                  NOTE: Value returned for the GET command is meaningless
                  for this MIB object."
                  ::= { eventLog 6 }


    eventLogSaveStatus        OBJECT-TYPE
                  SYNTAX INTEGER {
                    success(0),
                    failed(1)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Get the status of the last save operation which
                  was initiated through SNMP method."
                  ::= { eventLog 7 }


-- ***********************************************************************
--  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 {
                     nowait(0),        --IMM2-only
                     oneMinute(1),
                     twoMinutes(2),
                     threeMinutes(3),  --IMM2-only
                     fourMinutes(4),   --IMM2-only
                     fiveMinutes(5),
                     sixMinutes(6),    --IMM2-only
                     sevenMinutes(7),  --IMM2-only
                     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 on or off."  -- Off only for IMM1
                              ::= { 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  --IMM1-only, omitted by IMM2 in error?
                   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),   -- IMM1 setting name
                     passwordLengthTwo(2),   -- IMM1 setting name
                     passwordLengthThree(3), -- IMM1 setting name
                     passwordLengthFour(4),  -- IMM1 setting name
                     passwordLength5(5),
                     passwordLength6(6),
                     passwordLength7(7),
                     passwordLength8(8),
                     passwordLength9(9),
                     passwordLength10(10),
                     passwordLength11(11),
                     passwordLength12(12),
                     passwordLength13(13),
                     passwordLength14(14),
                     passwordLength15(15),
                     passwordLength16(16),
                     passwordLength17(17),
                     passwordLength18(18),
                     passwordLength19(19),
                     passwordLength20(20)                   
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The required minimum number of characters in the new password.
                    The default value is 8.

                   A SET of this object is ignored until the complexPasswordRules option is enabled
                   and the minimumPasswordReuseCycle is not none(0)"
                   ::= { customSecuritySettings 5 }

           defaultAdminPasswordExpired OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER {
                     disabled(0),
                     enabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "If enabled, the factory default 'USERID' account password must
                   be changed on next login.  The default value is disabled."
                   ::= { customSecuritySettings 6 }


           minimumDiffCharsPassword OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER {
                     none(0),
                     oneChar(1),
                     twoChars(2),
                     threeChars(3),
                     fourChars(4),
                     fiveChars(5),
                     sixChars(6),
                     sevenChars(7),
                     eightChars(8),
                     nineChars(9),
                     tenChars(10),
                     elevenChars(11),
                     twelveChars(12),
                     thirteenChars(13),
                     fourteenChars(14),
                     fifteenChars(15)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The required minimum number of characters in the new password
                   different from the previous password.  The default value is 2.

                   A SET of this object is ignored until the complexPasswordRules option is enabled
                   and the minimumPasswordReuseCycle is not none(0)"
                   ::= { customSecuritySettings 7 }

           changePasswordFirstAccess OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER {
                     disabled(0),
                     enabled(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "If enabled, the login user will be forced to change their password on
                   the first access after the account has been established or on
                   the first access after an administrator has changed the password
                   for the user, except for the administrator password for USERID.
                   The default value is disabled."
                   ::= { customSecuritySettings 8 }

           accountLockoutPeriod OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER {       
                     nowait(0),        
                     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
                   "The period of time in minutes that a user is locked out after the
                   maximum number of login failures was reached.  The minimum value is
                   is 1 minute and the maximum value is 240 minutes.  The default value
                   is 2 minutes for the Legacy security level and 60 minutes for the
                   High security level.  A value of 0 disables this option."
                   ::= { customSecuritySettings 9 }

           maxLoginFailures OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER {
                     none(0),
                     oneTime(1),
                     twoTimes(2),
                     threeTimes(3),
                     fourTimes(4),
                     fiveTimes(5),
                     sixTimes(6),
                     sevenTimes(7),
                     eightTimes(8),
                     nineTimes(9),
                     tenTimes(10)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "The maximum number of login failures before a user account is locked.
                   A value of 0 disables this option.  The default value is 5."
                   ::= { customSecuritySettings 10 }


           passwordChangeInterval OBJECT-TYPE  --IMM2-only
                   SYNTAX  INTEGER
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "A minimum period of time that user is not able to change
                   their own password. The range of acceptable values will be
                   from 0 to 240 (or 10 days). A value of 0 disables this
                   option. If the password expiration period is set, it must be
                   greater than the minimum password change interval."
                   ::= { customSecuritySettings 11 }


    -- ***********************************************************************
    -- IMM Serial Port Configuration
    -- ***********************************************************************
     serialPortCfg  OBJECT IDENTIFIER ::= { remoteAccessConfig 2 }


     portBaud     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  INTEGER {
                    baud9600(3),
                    baud19200(4),
                    baud38400(5),
                    baud57600(6),
                    baud115200(7)
                  }
                  ACCESS  read-write
                  STATUS  mandatory              
                  DESCRIPTION
                  "Baud rate for the serial port."
                  ::= { serialPortCfg 1 }



     portParity   OBJECT-TYPE   -- IMM2-only
                  SYNTAX  INTEGER {
                    none(0),
                    odd(1),
                    even(3)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Parity setting for the serial port."
                  ::= { serialPortCfg 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. 
                      This sequence must have at least one character. The caret symbol (^)
                      has a special meaning in this sequence. It denotes 'Ctrl' for keystrokes that
                      map to Ctrl sequences (for example, ^[ for the escape key and ^M for carriage
                      return). All ocurrences of ^ will be interpreted as part of a Ctrl sequence.
                      Refer to an ASCII-to-key conversion table for a complete list of Ctrl sequences.
                      The default value for this field is '^[(' i.e. ESC followed by (." 
                     ::= { serialRedirect 1 }

     portStopBits OBJECT-TYPE   -- IMM2-only
                  SYNTAX  INTEGER {
                    oneStopbit(0),
                    twoOrOnePtFive(1)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Number of stop bits for the serial port."
                  ::= { serialPortCfg 4 }


     portCLImode OBJECT-TYPE   -- IMM2-only
                    SYNTAX  INTEGER {
                      cliDisable(0),
                      cliWithEMScompatibleKeystrokeSeq(1),
                      cliWithUserDefinedKeystrokeSeq(2)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Use this field to select the CLI (command line interface) mode for this port.
                    The CLI mode disablies serial redirect, or pecifies the type of keystroke
                    sequences to use for entering (returning to) the CLI from the system console."
                    ::= { serialPortCfg 18 }


     -- ***********************************************************************
     -- 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. "
                            ::= {  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,
	               remoteAlertIdEntryAuditAlert INTEGER,  -- IMM2-only
	 	           remoteAlertIdEntryAttachmentsToEmailAlerts INTEGER,
                   remoteAlertIdEntrySyslogPortAssignment INTEGER,  -- IMM2-only  
                   remoteAlertIdEntrySyslogHostname OCTET STRING,  -- IMM2-only
                   remoteAlertIdEntryType INTEGER  -- IMM2-only
      }


      remoteAlertIdEntryIndex  OBJECT-TYPE
                                SYNTAX  INTEGER  (1..10000)
                                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..320)) -- IMM1 limited to 64
                                  ACCESS  read-write
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "A null terminated string that 
                                  contains a E-Mail Address. For example 'jeb@us.lenovo.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 }

     remoteAlertIdEntryAuditAlert 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 8 }                                

      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 9 }

      remoteAlertIdEntrySyslogPortAssignment OBJECT-TYPE  -- IMM2-only
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Syslog port number."
                      ::= { remoteAlertIdsEntry 10 }                  
                      
      remoteAlertIdEntrySyslogHostname OBJECT-TYPE  -- IMM2-only
                      SYNTAX  OCTET STRING (SIZE(0..63)) 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Syslog hostname or IP address."
                      ::= { remoteAlertIdsEntry 11 }

      
      remoteAlertIdEntryType OBJECT-TYPE
                                SYNTAX  INTEGER {
                                  email(1),
                                  syslog(2)                
                                }
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "Alert recipient type."
                                ::= { remoteAlertIdsEntry 12 }                    

      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,
                            rafSpTrapAllAuditS    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 On or Off."  -- Off only for IMM1
                              ::= { 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 }

       rafSpTrapAllAuditS   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: All Audit Events notification."
                            ::= { remoteAlertFiltersEntry 29 }

      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..20))
                                  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 }

    -- ************************************************************************************
    -- Group Profiles for LDAP Users           
    --    NOTE: This is an IMM1 only function and should return Not Found until implemented                           
    -- *************************************************************************************
    groupProfiles  OBJECT IDENTIFIER ::= { remoteAccessConfig 5 }
      groupIdsTable  OBJECT-TYPE
                            SYNTAX  SEQUENCE OF GroupIdsEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Table of Group profiles.

                            This table lets you to configure all group profiles.
                            You can define up to 16 unique profiles."
                            ::= {  groupProfiles 1 }

      groupIdsEntry  OBJECT-TYPE
                            SYNTAX GroupIdsEntry
                            ACCESS  not-accessible
                            STATUS  mandatory
                            DESCRIPTION
                            "Group ID entries."
                            INDEX { groupIndex }
                            ::= { groupIdsTable 1 }


      GroupIdsEntry ::= SEQUENCE {
                   groupIndex INTEGER,
                   groupId OCTET STRING,
                   groupRole OCTET STRING
                   }


      groupIndex  OBJECT-TYPE
                            SYNTAX  INTEGER(0..255)
                            ACCESS  read-only
                            STATUS  mandatory
                            DESCRIPTION
                            "Index for Group IDs entry."
                            ::= { groupIdsEntry 1 }

      groupId  OBJECT-TYPE
                            SYNTAX  OCTET STRING (SIZE(0..63))
                            ACCESS  read-write
                            STATUS  mandatory
                            DESCRIPTION
                            "Group ID. It is a null terminated string that contains the group-id.
                            It must not be a duplicate of any previously configured ones."
                            ::= { groupIdsEntry 2 }


      groupRole  OBJECT-TYPE
                            SYNTAX  OCTET STRING
                            ACCESS  read-only
                            STATUS  mandatory
                            DESCRIPTION
                            "Group Role. It indicates if the group has supervisor, operator,
                            or custom access."
                            ::= { groupIdsEntry 3 }

      groupRBSroleTable  OBJECT-TYPE
                    SYNTAX  SEQUENCE OF GroupRBSroleEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of Group Role profiles."
                    ::= {  groupProfiles 2 }

      groupRBSroleEntry  OBJECT-TYPE
                    SYNTAX GroupRBSroleEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Group Role entries."
                    INDEX { groupRBSroleIndex }
                    ::= { groupRBSroleTable 1 }

      GroupRBSroleEntry ::= SEQUENCE {
                    groupRBSroleIndex INTEGER,
                    groupRBSroleId OCTET STRING,
                    groupRBSSupervisor INTEGER,
                    groupRBSOperator INTEGER,
                    groupRBSNetworkSecurity INTEGER,
                    groupRBSUserAccountManagement INTEGER,
                    groupRBSRemoteConsoleAccess INTEGER,
                    groupRBSRemoteConsoleRemoteDiskAccess INTEGER,
                    groupRBSServerPowerRestartAccess INTEGER,
                    groupRBSBasicAdapterConfiguration INTEGER,
                    groupRBSClearEventLog INTEGER,
                    groupRBSAdvancedAdapterConfiguration INTEGER
                    }


      groupRBSroleIndex  OBJECT-TYPE
                    SYNTAX  INTEGER(0..255)
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Index for Group Role entry."
                    ::= { groupRBSroleEntry 1 }

      groupRBSroleId  OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..63))
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Group ID"
                    ::= { groupRBSroleEntry 2 }

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

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

      groupRBSNetworkSecurity  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can modify the configuration in the Security, Network Protocols, 
                    Network Interface, Port Assignments, and Serial Port panels."
                    ::= { groupRBSroleEntry 5 }

      groupRBSUserAccountManagement  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can add/modify/delete users and change the Global Login Settings 
                    in the Login Profiles panel."
                    ::= { groupRBSroleEntry 6 }

      groupRBSRemoteConsoleAccess  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can access the remote server console."
                    ::= { groupRBSroleEntry 7 }

      groupRBSRemoteConsoleRemoteDiskAccess  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can access the remote server console and the remote disk functions 
                    for the remote server."
                    ::= { groupRBSroleEntry 8 }

      groupRBSServerPowerRestartAccess  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can access the power on, restart and server timeout functions for 
                    the remote server."
                    ::= { groupRBSroleEntry 9 }

      groupRBSBasicAdapterConfiguration  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can modify configuration parameters in the System Settings (excluding 
                    Contact, Location and Server Timeouts) and Alerts panels."
                    ::= { groupRBSroleEntry 10 }

      groupRBSClearEventLog  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can clear the event logs. Everyone can look at the event logs, but 
                    this particular permission is required to clear the logs."
                    ::= { groupRBSroleEntry 11 }

      groupRBSAdvancedAdapterConfiguration  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Group 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. This 
                    excludes Server Power/Restart Control and timeout functions."
                    ::= { groupRBSroleEntry 12 }

    -- ---------------------------------------------------------- --
    -- The Remote Access ID SSH Client Authentication Public Key Group  NOTE: IMM2-only
    -- ---------------------------------------------------------- --
    sshClientAuth OBJECT IDENTIFIER ::= { remoteAccessConfig 6 }

    sshClientAuthPubKeyTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SSHClientAuthPubKeyEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION
        "A table that contains client authentication
        public key information."
        ::= { sshClientAuth 1 }

    sshClientAuthPubKeyEntry OBJECT-TYPE
        SYNTAX      SSHClientAuthPubKeyEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION
        "A information list about a particular SSH
        public key used for client authentication.
        The primary table index is the same value as
        the associated remoteAccessIdEntryIndex.
        The secondary table index allows selection
        of the Nth public key for that
        remoteAccessIdEntryIndex."
        INDEX { sshClientAuthRemoteAccessIdIndex ,
                sshClientAuthPubKeyIndex }
        ::= { sshClientAuthPubKeyTable 1 }

    SSHClientAuthPubKeyEntry ::=
        SEQUENCE {
            sshClientAuthRemoteAccessIdIndex      INTEGER,
            sshClientAuthPubKeyIndex              INTEGER,
            sshClientAuthPubKeyType               INTEGER,
            sshClientAuthPubKeySize               INTEGER,
            sshClientAuthPubKeyFingerprint        OCTET STRING,
            sshClientAuthPubKeyAcceptFrom         OCTET STRING,
            sshClientAuthPubKeyComment            OCTET STRING,
            sshClientAuthPubKeyAction             INTEGER,
            sshClientAuthPubKeyEntryStatus        EntryStatus
        }

    sshClientAuthRemoteAccessIdIndex  OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION
        "The primary table index is the same value as
        the associated remoteAccessIdEntryIndex used
        as an index into the remoteAccessIdsTable."
        ::= { sshClientAuthPubKeyEntry 1 }

    sshClientAuthPubKeyIndex  OBJECT-TYPE
        SYNTAX  INTEGER (1..1000)
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
        "The secondary table index used to select
         one of the client authentication public
         keys for a particular remote access Id.
         The index is an integer value from 1 to N
         where N is the number of keys associated
         with a particular remote access Id.
         An addition always causes the value of N to increase
         by one, effectively adding an entry after the
         existing keys for that remote access Id.
         If an entry is deleted from the table by
         setting sshClientAuthPubKeyEntryStatus = invalid,
         the key associated with that entry is deleted.
         If the deleted key was not the last key for
         a remote access Id (sshClientAuthPubKeyIndex is
         not the 'last' or Nth entry), the subsequent entries
         are renumbered after the deletion. A deletion
         always causes the value of N to decrease by one.
         The underlying SSH server implementation searches
         the keys in order from 1 to N when attempting public
         key authentication.

         NOTE:A maximum of 4 public keys can be installed
         for one remote access Id."
        ::= { sshClientAuthPubKeyEntry 2 }

    sshClientAuthPubKeyType     OBJECT-TYPE
        SYNTAX  INTEGER {
            sshDss   (1),
            sshRsa   (2)
        }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION
        "The type of the SSH public key represented by
         this entry."
        ::= { sshClientAuthPubKeyEntry 3 }

    sshClientAuthPubKeySize          OBJECT-TYPE
        SYNTAX  INTEGER {
            bits512   (1),
            bits768   (2),
            bits1024  (3),
            bits2048  (4),
            bits4096  (5)
        }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION
        "The size of the SSH public key represented by
        this entry."
        ::= { sshClientAuthPubKeyEntry 4 }

    sshClientAuthPubKeyFingerprint   OBJECT-TYPE
        SYNTAX        OCTET STRING
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION
        "The RSA fingerprint of the SSH public key represented
        by this entry.
        This value can be used with the SSH client to
        verify, on the initial connection, that the Secure Shell
        server responding to the request is the server running
        on the managed entity.  This is the fingerprint of the
        operational host key pair.  If the key pair represented
        by this entry is not operational then sixteen null octets
        must be returned."
        ::= { sshClientAuthPubKeyEntry 5 }

    sshClientAuthPubKeyAcceptFrom   OBJECT-TYPE
        SYNTAX        OCTET STRING
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION
        "This is a filter that describes the set of SSH client
        IP addresses and host names that can establish
        SSH connections to the AMM authenticated by the public key
        represented by this entry of the table. The filter is a
        comma-separated list of IP addresses and/or hostnames.
        A question mark may be used to match any single character.
        An asterisk may be used to match multiple characters.
        An exclamation point may preceed an IP address or hostname
        to deny acccess from that IP address or hostname.

        The format of the Accept From specification is:
                    from=PATTERN-LIST
        PATTERN-LIST is the filter, which must be enclosed in
        double quotation marks.

        NOTE:This MIB object can be manipulated after the
        corresponding SSH public key is installed."
        ::= { sshClientAuthPubKeyEntry 6 }

    sshClientAuthPubKeyComment   OBJECT-TYPE
        SYNTAX        OCTET STRING
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION
        "This is a descriptive string that the administrator may
        use to help identify the public key represented by this entry.
        It serves no function in the operation of the SSH server.

        NOTE:This MIB object can be manipulated after the
        corresponding SSH public key is installed."
        ::= { sshClientAuthPubKeyEntry 7 }

    sshClientAuthPubKeyAction    OBJECT-TYPE
        SYNTAX INTEGER {
          import(1),
          export(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "import(1) starts the TFTP file transfer of an SSH
        client authentication public key from the TFTP
        server to the AMM. The import operation is only
        accepted if the associated RemoteAccessIdsEntry row
        is configured and the current value of
        sshClientAuthPubKeyEntryStatus is underCreation(3)
        or valid(1), if the current value of sshClientAuthPubKeyEntryStatus
        is valid(1), it will replace the key with a new key,
        If the import is successful the value of
        sshClientAuthPubKeyRowStatus changes to valid(1).
        export(2) starts the TFTP file transfer of an SSH
        client authentication public key from the AMM to the TFTP
        server.  The export operation is only accepted if
        the current value of sshClientAuthPubKeyEntryStatus
        is valid(1).

        NOTE: Users should compare the fingerprint value
        sshClientAuthPubKeyFingerprint to the
        fingerprint of client authentication key files
        imported or exported using the TFTP file transfer
        protocol to guard against possible file corruption.

        Value returned for the GET command is meaningless
        for this MIB object."
        ::= { sshClientAuthPubKeyEntry 8 }

    sshClientAuthPubKeyEntryStatus     OBJECT-TYPE
        SYNTAX      EntryStatus
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION
        "This object manages the creation and deletion of this entry.
        The steps recommended to install and to activate a new client
        authorization public key are:
        1. Set values for sshClientAuthPubKeyTftpServer,
           sshClientAuthPubKeyFileName, sshClientAuthPubKeyFileFormat
        2. Create a new entry in this table
           sshClientAuthPubKeyEntryStatus = createRequest
        3. Import a new key sshClientAuthPubKeyAction = import
           This entry will be valid after sshClientAuthPubKeyAction
           is successfully imported.
        4. Set sshClientAuthPubKeyAcceptFrom and
           sshClientAuthPubKeyComment as required.

        valid(1)        - Indicates that the public key pair represented
                          by this entry is available for use by the Secure
                          Shell Server for client authentication.

        createRequest(2) - A new entry will be created in this table
                           for the specified host key pair and the new
                           entry will transition to the underCreation(3)
                           state. The operation is only accepted if the
                           associated RemoteAccessIdsEntry row defining
                           a local user account is configured.

        underCreation(3) - Indicates that this entry exists in the
                           agent but is unavailable for use. After completing the
                           create operation, the agent will set this object to
                           underCreation(3).

        invalid(4)    - Deletes this entry and any client authentication
                        public key that may be associated with it."
        ::= { sshClientAuthPubKeyEntry 9 }

    sshClientAuthPubKeyUnused OBJECT-TYPE
                    SYNTAX  INTEGER
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "The number of available storage locations that may be
                    used to install additional Client Authentication
                    Public Keys. This number decreases by one when a new
                    key is added to the configuration."
                    ::= { sshClientAuth 2 }

    sshClientAuthPubKeyTftpServer   OBJECT-TYPE
                    SYNTAX  OCTET STRING
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "IP address or host name of the TFTP server where an SSH client
                    authentication public key is to be installed from or exported
                    to. The address must be entered in a dotted decimal
                    IP string (e.g. 9.37.44.2)."
                    ::= { sshClientAuth 3 }

    sshClientAuthPubKeyFileName      OBJECT-TYPE
                    SYNTAX  OCTET STRING
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "File name on the TFTP server of an SSH client
                    authentication public key."
                    ::= { sshClientAuth 4 }

    sshClientAuthPubKeyFileFormat      OBJECT-TYPE
                    SYNTAX    INTEGER {
                        openSSH (1),
                        rfc4716 (2)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "File format of SSH client authentication public key files
                    imported from or exported to the TFTP file server."
                    ::= { sshClientAuth 5 }


    -- ***********************************************************************
    -- 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.    

                  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 Turkey and observing DST,
                         set the value to:'+2:00,yes,3'

                   GMT    Observe      Additional 
                  Offset    DST?       DST value
                  ______  _______      __________
                   GMT+0    yes | no
                   GMT+1    yes | no  
                   GMT+2    yes | no  When 'Observe DST?' value is 'yes':
                                       '1' Europe/Eastern Europe (ee)
                                       '3' Turkey (tky)
                                       '4' Asia/Beirut (bei)
                                       '5' Asia/Amman (amm)
                                       '6' Asia/Jerusalem (jem) 
                   GMT+3    no
                   GMT+3:30 yes | no
                   GMT+4    no  
                   GMT+4:30 no
                   GMT+5    no
                   GMT+5:30 no 
                   GMT+5:45 no
                   GMT+6    no
                   GMT+6:30 no 
                   GMT+7    no
                   GMT+8    no
                   GMT+9    no 
                   GMT+9:30 yes | no 
                   GMT+10   yes | no
                   GMT+11   no
                   GMT+12   yes | no
                   GMT+13   no 
                   GMT-12   no
                   GMT-11   yes | no
                   GMT-10   no
                   GMT-9    yes | no 
                   GMT-8    yes | no 
                   GMT-7    yes | no  When 'Observe DST?' value is 'yes':
                                       '7' US/Mountain (mtn)
                                       '8' America/Mazatlan (maz)
                   GMT-6    yes | no  When 'Observe DST?' value is 'yes':
                                       '9' America/Mexico City (mex)
                                       '10' Canada/Central (cna) 
                   GMT-5    yes | no  When 'Observe DST?' value is 'yes':
                                       '11' Cuba (cub)
                                       '12' Canada, US/East-Indiana (ein) 
                   GMT-4:30 no
                   GMT-4    yes | no  When 'Observe DST?' value is 'yes':
                                       '13' America/Asuncion (asu)
                                       '14' America/Cuiaba (cui)
                                       '15' America/Santiago (san)
                                       '16' Canada/Atlantic (cat) 
                   GMT-3:30 yes | no
                   GMT-3    yes | no  When 'Observe DST?' value is 'yes':
                                       '17' America/Gothab (gtb)
                                       '18' America/Montevideo (moo)
                                       '19' Brazil/East (bre)
                   GMT-2    no  
                   GMT-1    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 }

     spRoomID     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Room where the system is located. In some hardware configurations this object can only be read."
                  ::= { spIdentification 2 }

     spRackID     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "ID for Rack that contains this system. In some hardware configurations this object can only be read."
                  ::= { spIdentification 3 }

     spRackUnitPosition     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "Position within the rack for this system. In some hardware configurations this object can only be read."
                  ::= { spIdentification 4 }

     spRackUnitHeight     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Number of rack units occupied by this system."
                  ::= { spIdentification 5 }

     spRackBladeBay     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Bay number for system contained in a blade chassis."
                  ::= { spIdentification 6 }

     spFullPostalAddress     OBJECT-TYPE   -- IMM2-only
                  SYNTAX  DisplayString 
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "A NULL terminated 300 byte string that contains the 
                   full postal address for this system."
                  ::= { spIdentification 7 }

    -- ***********************************************************************
    -- 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. Note that the value of this variable
                    is ignored if ethernetInterfaceAutoNegotiate is set to enabled(0)." 
                    ::= { 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 }

       -- ********************************************************************************
       -- VLAN configuration   NOTE: IMM2-only
       -- ********************************************************************************
       ethernetInterfaceVlan  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      enabled(0),
                      disabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "If this is enabled, assign VLAN ID needs to be assigned.
                    NOTE: This is not supported on blades."
                    ::= { ethernetInterface 15 }
                    
       ethernetInterfaceVlanID  OBJECT-TYPE
                    SYNTAX  INTEGER (1..4094)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the VLAN ID for the ethernet interface.
                    NOTE: This is not supported in blades."
                    ::= { ethernetInterface 16 }
     
       -- ********************************************************************************
       -- Ethernet Interface IPv6
       -- ********************************************************************************
        ethernetInterfaceIPv6  OBJECT IDENTIFIER ::= { networkInterfaces 4 }


          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 (1..1000)
                    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 }

       -- ********************************************************************************
       -- VLANs for System Management  NOTE: IMM2-only
       -- ********************************************************************************
        vlansSM  OBJECT IDENTIFIER ::= { networkInterfaces 5 }
        
          vlansSMvlan1config  OBJECT IDENTIFIER ::= { vlansSM 1 }
                                                       
             vlansSMvlan1Name  OBJECT-TYPE
                     SYNTAX OCTET STRING
                     ACCESS read-write
                     STATUS mandatory
                     DESCRIPTION
                     "The name of VLAN1, 1-64 characters."
                     ::= {vlansSMvlan1config 1}

             vlansSMvlan1vlanId  OBJECT-TYPE
                     SYNTAX  INTEGER (1..4094)
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The VLAN ID for VLAN1."
                     ::= {vlansSMvlan1config 2}
                    
             vlansSMvlan1State   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of VLAN1"
                     ::= {vlansSMvlan1config 3}       

             vlansSMvlan1RemoteControl   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of the Remote Control feature for VLAN1.
                      Note that Remote Control can only be enabled on one VLAN."
                     ::= {vlansSMvlan1config 4}
                     
             vlansSMvlan1SSerialOverLan   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of the Serail Over LAN feature for VLAN1.
                      Note that Serial Over LAN can only be enabled on one VLAN."
                     ::= {vlansSMvlan1config 5}                     
                    
          vlansSMvlan2config  OBJECT IDENTIFIER ::= { vlansSM 2 }
                                                       
             vlansSMvlan2Name  OBJECT-TYPE
                     SYNTAX OCTET STRING
                     ACCESS read-write
                     STATUS mandatory
                     DESCRIPTION
                     "The name of VLAN1, 1-64 characters."
                     ::= {vlansSMvlan2config 1}

             vlansSMvlan2vlanId  OBJECT-TYPE
                    SYNTAX  INTEGER (1..4094)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "The VLAN ID for VLAN2."
                    ::= {vlansSMvlan2config 2}

             vlansSMvlan2State   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of VLAN2"
                     ::= {vlansSMvlan2config 3}       

             vlansSMvlan2RemoteControl   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of the Remote Control feature for VLAN2.
                      Note that Remote Control can only be enabled on one VLAN."
                     ::= {vlansSMvlan2config 4}
                     
             vlansSMvlan2SerialOverLan   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "The state of the Serail Over LAN feature for VLAN2.
                      Note that Serial Over LAN can only be enabled on one VLAN."
                     ::= {vlansSMvlan2config 5}

          vlansSMvlan2ipv4Config OBJECT IDENTIFIER ::= { vlansSMvlan2config 6 }
                                                             
             vlansSMvlan2IPv4Address   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv4Config 1 }
             
             vlansSMvlan2IPv4Gateway   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Gateway IPv4 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv4Config 2 }
                    
             vlansSMvlan2IPv4SubnetMask   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Subnet Mask for the IPv4 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv4Config 3 }                                

          vlansSMvlan2ipv6Config OBJECT IDENTIFIER ::= { vlansSMvlan2config 7 }
          
             vlansSMvlan2IPv6Address   OBJECT-TYPE
                    SYNTAX  InetAddressIPv6
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv6Config 1 }
             
             vlansSMvlan2IPv6Gateway OBJECT-TYPE
                    SYNTAX  InetAddressIPv6 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Gateway IPv6 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv6Config 2 }
                    
             vlansSMvlan2IPv6PrefixLength   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Prefix Length for the IPv6 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv6Config 3 }                              

          vlansSMvlan2ipv4StatusRoutes OBJECT IDENTIFIER ::= { vlansSMvlan2config 8 }
          
             vlansSMvlan2IPv4StaticRouteIP1   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the first IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 1 }              

             vlansSMvlan2IPv4StaticRouteSM1   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Subnet Mask for the first IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 2 }

             vlansSMvlan2IPv4StaticRouteIP2   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the second IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 3 }              

             vlansSMvlan2IPv4StaticRouteSM2   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Subnet Mask for the second IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 4 }
                    
             vlansSMvlan2IPv4StaticRouteIP3   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the third IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 5 }              

             vlansSMvlan2IPv4StaticRouteSM3   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Subnet Mask for the third IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 6 }                    
          
          vlansSMvlan2ipv6StatusRoutes OBJECT IDENTIFIER ::= { vlansSMvlan2config 9 }
          
             vlansSMvlan2IPv6StaticRouteIP1   OBJECT-TYPE
                    SYNTAX  InetAddressIPv6
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the first IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 1 }             
           
             vlansSMvlan2IPv6StaticRoutePL1   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Prefix Length for the first IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 2 }          

             vlansSMvlan2IPv6StaticRouteIP2   OBJECT-TYPE
                    SYNTAX  InetAddressIPv6
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the second IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 3 }             
           
             vlansSMvlan2IPv6StaticRoutePL2   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Prefix Length for the second IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 4 }

             vlansSMvlan2IPv6StaticRouteIP3   OBJECT-TYPE
                    SYNTAX  InetAddressIPv6
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the third IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 5 }             
           
             vlansSMvlan2IPv6StaticRoutePL3   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Prefix Length for the third IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 6 }                              

          vlansSMvlanControl   OBJECT IDENTIFIER ::= { vlansSM 3 }         

             vlansSMvlanConfigRevertTimout   OBJECT-TYPE
                    SYNTAX  INTEGER (1..60)
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the VLAN Config Revert Timeout value." 
                    ::= { vlansSMvlanControl 1 }
                    
             vlansSMvlanAction   OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        apply(1),
                        commit(2)
                  }                         
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "When the 'apply' setting is written, the VLANs for System Management settings will
                     be applied and take affect. The settings will not be saved until the 'commit' 
                     setting is written. If the 'commit' setting is not written by the time the VLAN
                     Config Revert Timer expires, the VLANs for System Management settings will revert
                     to thier previous values. "
                  ::= { vlansSMvlanControl 2 }                    
         
       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 }

       -- ***********************************************************************
       -- LAN over USB Settings for ethernet interface 
       -- ***********************************************************************
       lanOverUSBInterface  OBJECT IDENTIFIER ::= { networkInterfaces 14 } 

        immUSBIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the IP address for the LAN over USB of IMM." 
                     ::= { lanOverUSBInterface 1 }
                     
        immUSBSubnetMask   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the Subnet Mask for the LAN over USB of IMM." 
                     ::= { lanOverUSBInterface 2 }


        osUSBIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-write
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the IP address for the LAN over USB of OS." 
                     ::= { lanOverUSBInterface 3 }


     -- ***********************************************************************
     -- 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." 
                    ::= { 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." 
                    ::= { 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." 
                    ::= { snmpAgentConfig 3 }

       snmpSystemAgentTrapsDisable  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      trapsEnabled(0),
                      trapsDisabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable SNMP traps." 
                    ::= { 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
                              "Community table entries"
                              INDEX { snmpCommunityEntryIndex }
                              ::= { snmpCommunityTable 1 }
                       
        SnmpCommunityEntry ::= SEQUENCE { 
                     snmpCommunityEntryIndex INTEGER(0..255),
                     snmpCommunityEntryCommunityName DisplayString (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  DisplayString (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 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"
                                  ::= { 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 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"
                                  ::= { 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 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" 
                                  ::= { 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: When this object has a value of enabled  the fields listed below are checked.
                If this verification fails an error response is 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 }

		smtpServerPort   OBJECT-TYPE   --- NOTE: new setting for IMM1 
                -- can return Not Found until implemented
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SMTP server port number."
                      ::= { smtpConfig 2 } 
                      
        smtpServerAuthentication     OBJECT-TYPE   -- IMM2 only
                    SYNTAX  INTEGER {
                    enabled(0),
                    disabled(1)
                    }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "Enable/disable SMTP-AUTH function. smtpServerAuthenticationUser and
                    smtpServerAuthenticationPassword must be SET before smtpServerAuthentication
                    is enabled or the enable will fail."
                    ::= { smtpConfig 3 }
                    
        smtpServerAuthenticationUser     OBJECT-TYPE  -- IMM2 only
                    SYNTAX  OCTET STRING (SIZE(0..256))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "SMTP authentication user name"
                    ::= { smtpConfig 4 }

        smtpServerAuthenticationPassword     OBJECT-TYPE  -- IMM2 only
                    SYNTAX  OCTET STRING (SIZE(0..256))
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "SMTP authentication password. On a read a NULL string 
                    will be returned for security reasons."
                    ::= { smtpConfig 5 }

        smtpServerAuthenticationMethod     OBJECT-TYPE  -- IMM2 only
                    SYNTAX  INTEGER {
                        plain(0),
                        cram-md5(1)
                      }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "SMTP authentication method , support CRAM-MD5 and PLAIN only"
                    ::= { smtpConfig 6 }

       smtpServerReversePath     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..256)) -- IMM2 only
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 256 byte string that contains the SMTP Reverse Path. 
                    The user can substitute their own sender information in place of the 
                    IMM2 default sender information. For example imm@mycompany.com in place
                    of the default alertmgr@a.b.c.d." 
                    ::= { smtpConfig 7 }
                   
     -- ***********************************************************************
     -- Telnet Configuration 
     -- ***********************************************************************

        tcpApplicationConfig  OBJECT IDENTIFIER ::= { tcpProtocols 4 }

         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 }

         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 }

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


        -- ***********************************************************************
        -- The SSH Server Configuration Group   NOTE: IMM2-only
        -- ***********************************************************************

        sshServerConfig OBJECT IDENTIFIER ::= { tcpApplicationConfig 5 }


         sshServerHostKeySize  OBJECT-TYPE
                        SYNTAX  INTEGER {
                             bits512   (1),
                             bits768   (2),
                             bits1024  (3),
                             bits2048  (4),
                             bits4096  (5)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "The size of the public/private host key pair.

                        NOTE: The IMM supports only the bits1048 value."
                        ::= { sshServerConfig 1 }

         sshServerHostKeyFingerprint  OBJECT-TYPE
                        SYNTAX  OCTET STRING
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "The RSA fingerprint of the public part of the host key
                        pair.  This value can be used with the SSH client to
                        verify, on the initial connection, that the Secure Shell
                        server responding to the request is the server running
                        on the IMM. Null Empty string if no RSA key exists."
                        ::= { sshServerConfig 2 }

         sshServerHostKeyGenerate OBJECT-TYPE
                        SYNTAX  INTEGER {
                        execute(1)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Initiate the new Host Keys generation process for the
                        IMM SSH Server.

                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sshServerConfig 3 }

         sshServerHostKeyGenerateProgress OBJECT-TYPE
                        SYNTAX  OCTET STRING
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Indicate the progress of the key generation process."
                        ::= { sshServerConfig 4 }

         sshEnable  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable SSH."
                      ::= { sshServerConfig 5 }
                       

        -- ***********************************************************************
        -- The SSL Configuration Group   NOTE: IMM2-only 
        -- ***********************************************************************

        sslConfig OBJECT IDENTIFIER ::= { tcpApplicationConfig 6 }
  
        sslHTTPSServerConfigForWeb OBJECT IDENTIFIER ::= { sslConfig 1 }
      
        sslEnableHTTPSforWeb  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable HTTPS support for web.
                      Use this field to enable or disable SSL for the web interface. 
                      The IMM must be restarted before the selected value 
                      (enable/ disable) takes effect. 
                      Note that in order to enable SSL, a valid SSL server certificate 
                      must first be in place.  To use SSL, a client web browser must 
                      be configured to use SSL3 and/or TLS. Older export-grade browsers 
                      with only SSL2 support cannot be used."
                      ::= { sslHTTPSServerConfigForWeb 1 }

        sslHTTPSServerWebCertificateGeneration OBJECT-TYPE
                        SYNTAX  INTEGER {
                        generateNewKeyandSelfSigned(1),
                        generateNewKeyandCSR(2)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Initiate the new key and certificate generation process for the
                        web HTTPS. The required fields in sslCertificateData must be set 
                        to valid contents.   
                        generateNewKeyandSelfSigned - 
                            Use this to generate a new encryption 
                            key pair and install a self-signed certificate. If a key and a 
                            certificate are present, they will be replaced. After the operation 
                            is complete, SSL may be enabled using the new key and certificate. 
                        generateNewKeyandCSR - 
                            Use this to generate a new encryption key 
                            and a certificate signing request (CSR). After the operation is 
                            complete, the CSR file may be downloaded and sent to a certificate 
                            authority (CA) for signing.
                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslHTTPSServerConfigForWeb 2  }

        sslHTTPSServerWebCertificateTransfer OBJECT-TYPE
                        SYNTAX  INTEGER {
                        importSignedCertificate(1),
                        downloadCertificate(2),
                        downloadCSR(3)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "sslConfigTftpServer and sslConfigFileName must contain valid values.  
                        importSignedCertificate - 
                            Use this to import a signed certificate. To obtain a signed 
                            certificate, a certificate signing request (CSR) must first 
                            be generated and sent to a certificate authority (CA). The 
                            imported certificate must contain a public key that corresponds 
                            to the key pair previously generated by the generateNewKeyandCSR.
                        downloadCertificate - 
                            Use this link to download a copy of the currently installed c
                            ertificate. The certificate will be in DER format. The contents 
                            of the certificate can be viewed using a third-party tool such as 
                            OpenSSL (www.openssl.org).  An example of the command line for 
                            viewing the contents of the certificate using OpenSSL would look 
                            something like the following:  
                            openssl x509 -in cert.der -inform DER -text  
                        downloadCSR - 
                            The file produced when creating a CSR is in DER or PEM format 
                            according to sslCertificateCSRDownloadFormat. If your CA expects 
                            the data in some other format, the file can be converted using a 
                            third-party tool such as OpenSSL(www.openssl.org). 
                            If the CA asks you to copy the contents of the CSR file into 
                            a web browser window, PEM format is usually expected.

                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslHTTPSServerConfigForWeb 3  }

        sslHTTPSWebCertificateStatus  OBJECT-TYPE
                        SYNTAX INTEGER {
                          no-cert-installed(1),
                          self-signed-installed(2),
                          ca-signed-installed(3),
                          csr-generated(4),
                          self-signed-and-csr-generated(5),
                          ca-signed-and-csr-generated(6)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed Web certificates.
                         1 = Private Key and Cert/CSR not available.
	                     2 = Private Key and Self-signed cert installed.
	                     3 = Private Key and CA-signed cert installed.
	                     4 = Private Key stored, CSR available for download.
                         5 = Private Key and Self-signed cert installed, Private Key stored, CSR available for download.
                         6 = Private Key and CA-signed cert installed, Private Key stored, CSR available for download. "
                        ::= { sslHTTPSServerConfigForWeb 4 }

        sslHTTPSWebCertificateExpirationDate  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Expiration date of the HTTPS Web Server certificate."
                      ::= { sslHTTPSServerConfigForWeb 5 }
                      
        sslHTTPSWebCertificateRemove  OBJECT-TYPE
                      SYNTAX  INTEGER {
                      removeServerCertificate(1)
                      }
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "removeServerCertificate - 
                          Remove HTTPS Web Server certificate."
                      ::= { sslHTTPSServerConfigForWeb 6 }

        sslHTTPSServerConfigForCIMXML OBJECT IDENTIFIER ::= { sslConfig 2 }
      
        sslEnableHTTPSforCIMXML  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable HTTPS support for web.
                      Use this field to enable or disable SSL for the web interface. 
                      The IMM must be restarted before the selected value 
                      (enable/ disable) takes effect. 
                      Note that in order to enable SSL, a valid SSL server certificate 
                      must first be in place. "
                      ::= { sslHTTPSServerConfigForCIMXML 1 }

        sslHTTPSServerCIMXMLCertificateGeneration OBJECT-TYPE
                        SYNTAX  INTEGER {
                        generateNewKeyandSelfSigned(1),
                        generateNewKeyandCSR(2)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Initiate the new key and certificate generation process for
                        CIMXML communication. The required fields in sslCertificateData must be set 
                        to valid contents.   
                        generateNewKeyandSelfSigned - 
                            Use this to generate a new encryption 
                            key pair and install a self-signed certificate. If a key and a 
                            certificate are present, they will be replaced. After the operation 
                            is complete, SSL may be enabled using the new key and certificate. 
                        generateNewKeyandCSR - 
                            Use this to generate a new encryption key 
                            and a certificate signing request (CSR). After the operation is 
                            complete, the CSR file may be downloaded and sent to a certificate 
                            authority (CA) for signing.
                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslHTTPSServerConfigForCIMXML 2  }

	    sslHTTPSServerCIMXMLCertificateTransfer OBJECT-TYPE
                        SYNTAX  INTEGER {
                        importSignedCertificate(1),
                        downloadCertificate(2),
                        downloadCSR(3)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "sslConfigTftpServer and sslConfigFileName must contain valid values.  
                        importSignedCertificate - 
                            Use this to import a signed certificate. To obtain a signed 
                            certificate, a certificate signing request (CSR) must first 
                            be generated and sent to a certificate authority (CA). The 
                            imported certificate must contain a public key that corresponds 
                            to the key pair previously generated by the generateNewKeyandCSR.
                        downloadCertificate - 
                            Use this link to download a copy of the currently installed c
                            ertificate. The certificate will be in DER format. The contents 
                            of the certificate can be viewed using a third-party tool such as 
                            OpenSSL (www.openssl.org).  An example of the command line for 
                            viewing the contents of the certificate using OpenSSL would look 
                            something like the following:  
                            openssl x509 -in cert.der -inform DER -text  
                        downloadCSR - 
                            The file produced when creating a CSR is in DER or PEM format 
                            according to sslCertificateCSRDownloadFormat. If your CA expects 
                            the data in some other format, the file can be converted using a 
                            third-party tool such as OpenSSL(www.openssl.org). 
                            If the CA asks you to copy the contents of the CSR file into 
                            a web browser window, PEM format is usually expected.

                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslHTTPSServerConfigForCIMXML 3  }

        sslHTTPSCIMXMLCertificateStatus  OBJECT-TYPE
                      SYNTAX INTEGER {
                        no-cert-installed(1),
                        self-signed-installed(2),
                        ca-signed-installed(3),
                        csr-generated(4),
                        self-signed-and-csr-generated(5),
                        ca-signed-and-csr-generated(6)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of the installed CIM/XML certificates.
                       1 = Private Key and Cert/CSR not available.
                       2 = Private Key and Self-signed cert installed.
                       3 = Private Key and CA-signed cert installed.
                       4 = Private Key stored, CSR available for download.
                       5 = Private Key and Self-signed cert installed, Private Key stored, CSR available for download.
                       6 = Private Key and CA-signed cert installed, Private Key stored, CSR available for download. "
                      ::= { sslHTTPSServerConfigForCIMXML 4 }

        sslHTTPSCIMXMLCertificateExpirationDate  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Expiration date of the HTTPS CIM/XML Server certificate."
                      ::= { sslHTTPSServerConfigForCIMXML 5 }
                      
        sslHTTPSCIMXMLCertificateRemove  OBJECT-TYPE
                      SYNTAX  INTEGER {
                      removeServerCertificate(1)
                      }
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "removeServerCertificate - 
                          Remove HTTPS CIM/XML Server certificate."
                      ::= { sslHTTPSServerConfigForCIMXML 6 }

        sslClientConfigForLDAP OBJECT IDENTIFIER ::= { sslConfig 3 }
        
        sslEnableClientLDAP  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Use this field to enable or disable SSL for the LDAP Client. 
                      The value selected takes effect immediately. Note that in order 
                      to enable SSL, a valid SSL certificate must first be in place and at 
                      least one SSL client trusted certificate must be imported.  
                      Your LDAP server must support SSL3 or TLS to be compatible with the 
                      SSL implementation used by the LDAP client."
                      ::= { sslClientConfigForLDAP 1 }

        sslClientLDAPCertificateGeneration OBJECT-TYPE
                        SYNTAX  INTEGER {
                        generateNewKeyandSelfSigned(1),
                        generateNewKeyandCSR(2)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Initiate the new key and certificate generation process for the
                        LDAP Client Certificates. The required fields in sslCertificateData must be set 
                        to valid contents.   
                        generateNewKeyandSelfSigned - 
                            Use this to generate a new encryption 
                            key pair and install a self-signed certificate. If a key and a 
                            certificate are present, they will be replaced. After the operation 
                            is complete, SSL may be enabled using the new key and certificate. 
                        generateNewKeyandCSR - 
                            Use this to generate a new encryption key 
                            and a certificate signing request (CSR). After the operation is 
                            complete, the CSR file may be downloaded and sent to a certificate 
                            authority (CA) for signing.
                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslClientConfigForLDAP 2  }

	    sslClientLDAPCertificateDownload OBJECT-TYPE
                        SYNTAX  INTEGER {
                        downloadCertificate(2),
                        downloadCSR(3)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "sslConfigTftpServer and sslConfigFileName must contain valid values. 
                        downloadCertificate - 
                            Use this link to download a copy of the currently installed c
                            ertificate. The certificate will be in DER format. The contents 
                            of the certificate can be viewed using a third-party tool such as 
                            OpenSSL (www.openssl.org).  An example of the command line for 
                            viewing the contents of the certificate using OpenSSL would look 
                            something like the following:  
                            openssl x509 -in cert.der -inform DER -text  
                        downloadCSR - 
                            The file produced when creating a CSR is in DER or PEM format 
                            according to sslCertificateCSRDownloadFormat. If your CA expects 
                            the data in some other format, the file can be converted using a 
                            third-party tool such as OpenSSL(www.openssl.org). 
                            If the CA asks you to copy the contents of the CSR file into 
                            a web browser window, PEM format is usually expected.

                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslClientConfigForLDAP 3  }

        sslClientLDAPCertificateImport OBJECT-TYPE
                        SYNTAX  INTEGER {
                        importSignedCertificate1(1),
                        importTrustedCertificate1(2),
                        importTrustedCertificate2(3),
                        importTrustedCertificate3(4),
                        importTrustedCertificate4(5)
                        }
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "sslConfigTftpServer and sslConfigFileName must contain valid values.  
                        importSignedCertificate - 
                            Use this to import a signed certificate. To obtain a signed 
                            certificate, a certificate signing request (CSR) must first 
                            be generated and sent to a certificate authority (CA). The 
                            imported certificate must contain a public key that corresponds 
                            to the key pair previously generated by the generateNewKeyandCSR.
                        importTrustedCertificateX - 
                            Use these to import or remove trusted CA certificates. 
                            Trusted CA certificates are used by the SSL client to authenticate 
                            the SSL Server's (LDAP Server's) certificate. The SSL client must be 
                            disabled prior to importing or removing trusted certificates.

                        NOTE: Value returned for the GET command is meaningless
                        for this MIB object."
                        ::= { sslClientConfigForLDAP 4  }

        sslClientLDAPCertificateStatus  OBJECT-TYPE
                        SYNTAX INTEGER {
                          no-cert-installed(1),
                          self-signed-installed(2),
                          ca-signed-installed(3),
                          csr-generated(4),
                          self-signed-and-csr-generated(5),
                          ca-signed-and-csr-generated(6)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed SSL Client certificates.
                         1 = Private Key and Cert/CSR not available.
	                     2 = Private Key and Self-signed cert installed.
	                     3 = Private Key and CA-signed cert installed.
	                     4 = Private Key stored, CSR available for download.
                         5 = Private Key and Self-signed cert installed, Private Key stored, CSR available for download.
                         6 = Private Key and CA-signed cert installed, Private Key stored, CSR available for download. "
                        ::= { sslClientConfigForLDAP 5 }

        sslClientLDAPCertificateExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 6 }
                      
        sslClientLDAPCertificateRemove  OBJECT-TYPE
                        SYNTAX  INTEGER {
                        removeServerCertificate(1)
                        }
                        ACCESS  write-only
                        STATUS  mandatory
                        DESCRIPTION
                        "removeServerCertificate - 
                            Remove LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 7 }

        sslClientLDAPTrustedCertificate1Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed SSL Client trusted certificates.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslClientConfigForLDAP 8 }

        sslClientLDAPTrustedCertificate1ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 9 }
                      
        sslClientLDAPTrustedCertificate1Remove  OBJECT-TYPE
                        SYNTAX  INTEGER {
                        removeServerCertificate(1)
                        }
                        ACCESS  write-only
                        STATUS  mandatory
                        DESCRIPTION
                        "removeServerCertificate - 
                            Remove LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 10 }

        sslClientLDAPTrustedCertificate2Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed SSL Client trusted certificates.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslClientConfigForLDAP 11 }

        sslClientLDAPTrustedCertificate2ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 12 }
                      
        sslClientLDAPTrustedCertificate2Remove  OBJECT-TYPE
                        SYNTAX  INTEGER {
                        removeServerCertificate(1)
                        }
                        ACCESS  write-only
                        STATUS  mandatory
                        DESCRIPTION
                        "removeServerCertificate - 
                            Remove LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 13 }

        sslClientLDAPTrustedCertificate3Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed SSL Client trusted certificates.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslClientConfigForLDAP 14 }
                        
        sslClientLDAPTrustedCertificate3ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 15 }
                      
        sslClientLDAPTrustedCertificate3Remove  OBJECT-TYPE
                        SYNTAX  INTEGER {
                        removeServerCertificate(1)
                        }
                        ACCESS  write-only
                        STATUS  mandatory
                        DESCRIPTION
                        "removeServerCertificate - 
                            Remove LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 16 }
                      
        sslClientLDAPTrustedCertificate4Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the installed SSL Client trusted certificates.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslClientConfigForLDAP 17 }                        


        sslClientLDAPTrustedCertificate4ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 18 }
                      
        sslClientLDAPTrustedCertificate4Remove  OBJECT-TYPE
                        SYNTAX  INTEGER {
                        removeServerCertificate(1)
                        }
                        ACCESS  write-only
                        STATUS  mandatory
                        DESCRIPTION
                        "removeServerCertificate - 
                            Remove LDAP Client certificate."
                        ::= { sslClientConfigForLDAP 19 }

        sslConfigTftpServer    OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..63))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "To download or import certificates, set the IP address 
                                or host name of the TFTP server where the file should be 
                                transferred to or from. The address must be entered in a
                                dotted decimal IP string (e.g. 9.37.44.2), or equivalent 
                                for IPv6."
                                ::= { sslConfig 4 }

        sslConfigFileName      OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..254))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "File name on target system for the downloaded or 
                                imported certificate."
                                ::= { sslConfig 5 }
    

        sslCertificateData OBJECT IDENTIFIER ::= { sslConfig 6 }


        sslCertificateDataCountry OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Required field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the country where the IMM physically
                        resides.  
                        This field must contain the 2 character country code."
                        ::= { sslCertificateData 1}

        sslCertificateDataStateorProvince OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Required field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the state or province where the IMM
                        physically resides. 
                        This field may contain a maximum of 30 characters. "
                        ::= { sslCertificateData 2}

        sslCertificateDataCityOrLocality OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Required field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the city or locality where the IMM
                        physically resides. 
                        This field may contain a maximum of 50 characters."
                        ::= { sslCertificateData 3}

        sslCertificateDataOrganizationName OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Required field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the company or organization that 
                        owns the IMM. When this is used to generate a CSR, the 
                        issuing CA may verify that the organization requesting the 
                        certificate is legally entitled to claim ownership of the 
                        given company or organization name. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 4}


        sslCertificateDataIMMHostName OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Required field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the IMM host name that currently 
                        appears in the browser URL address bar. This certificate 
                        attribute is generally referred to as the Common Name (CN). 
                        Special care must be taken to ensure that the value entered 
                        into the IMM host name field exactly matches the host name 
                        as it is known by the web browser when it access the IMM. 
                        The browser compares the host name in the resolved URL to the 
                        name that appears in the certificate. In order to prevent 
                        certificate warnings from the browser, the value used in this 
                        field must match the host name used by the browser to connect 
                        to the IMM. 
                        For instance, if the URL address bar in the browser currently 
                        were to appear as http://mm11.xyz.com/private/main.ssi, the 
                        value used for the IMM Host Name field should be mm11.xyz.com. 
                        If the URL were http://mm11/private/main.ssi, the value used
                        should be mm11 . 
                        If the URL were http://192.168.70.2/private/main.ssi, 
                        the value used should be 192.168.70.2 .
                        It is the users responsibility to ensure the correct value 
                        is entered and works. 
                        This field may contain a maximum of 60 characters. "
                        ::= { sslCertificateData 5}

        sslCertificateDataContact OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the name of a contact person 
                        responsible for the IMM. 
                        This field may contain a maximum of 60 characters. "
                        ::= { sslCertificateData 6}

        sslCertificateDataEmailAddr OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate. 
                        Use this field to indicate the email address of a contact 
                        person responsible for the IMM. 
                        This field may contain a maximum of 60 characters. "
                        ::= { sslCertificateData 7}

        sslCertificateDataOrganizationUnit OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate.
                        Use this field to indicate the unit within the company 
                        or organization that owns the IMM. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 8}

        sslCertificateDataSurname OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate.
                        Use this field for additional information, such as the 
                        surname of a person responsible for the IMM. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 9}

        sslCertificateDataGivenName OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate. 
                        Use this field for additional information, such as the 
                        given name of a person responsible for the IMM. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 10}

        sslCertificateDataInitials OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate. 
                        Use this field for additional information, such as the 
                        initials of a person responsible for the IMM.  
                        This field may contain a maximum of 20 characters."
                        ::= { sslCertificateData 11}

        sslCertificateDataDNQualifier OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR or self-signed
                        certificate. 
                        Use this field for additional information, such as a 
                        Distinguished Name Qualifier for the IMM. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 12}

        sslCertificateDataCSRChallengePassword OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR. 
                        Use this field to assign a password to the CSR.
                        This field may contain a maximum of 30 characters. "
                        ::= { sslCertificateData 13}

        sslCertificateDataCSRUnstructuredName OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field for generating a CSR. 
                        Use this field for additional information, such as an 
                        unstructured name assigned to the IMM. 
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 14}
                        
        sslCertificateDataSubjectAltName1 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 15}                        

        sslCertificateDataSubjectAltName2 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 16}

        sslCertificateDataSubjectAltName3 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 17}
                        
        sslCertificateDataSubjectAltName4 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 18}
                                        
        sslCertificateDataSubjectAltName5 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 19}
                        
        sslCertificateDataSubjectAltName6 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 20}
                        
        sslCertificateDataSubjectAltName7 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 21}
                        
        sslCertificateDataSubjectAltName8 OBJECT-TYPE
                        SYNTAX OCTET STRING
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "Optional field to allow an SSL certificate to specify
                        an additional name that the certificate should match.  
                        This field may contain a maximum of 60 characters."
                        ::= { sslCertificateData 22}                                                                                                                        

        sslCertificateCSRDownloadFormat OBJECT-TYPE
                        SYNTAX INTEGER {
                          DER(0),
                          PEM(1)
                        }
                        ACCESS read-write
                        STATUS mandatory
                        DESCRIPTION
                        "You can download the generated CSR in DER format or PEM format. 
                        If the CA asks you to copy the contents of the CSR file into a web browser window, 
                        PEM format is usually expected. 
                        If the CA expects the data in PEM format, you need choose PEM format."
                        ::= { sslConfig 7 }                        
                        
        -- ***********************************************************************
        -- Cryptography Mode    NOTE: IMM2-only 
        -- ***********************************************************************

        cryptoSettings OBJECT IDENTIFIER ::= { tcpApplicationConfig 7 }
  
         cryptoMode  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        basic(0),
                        nist(1),
                        nsaB128(2),
                        nsaB192(3)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Basic or NIST mode enabled.
                      The Basic mode is compatible with older firmware versions and 
                      with browers and other network clients that do not implement 
                      the stricter security requirements of the compliance mode.
                      The NIST mode is to have the IMM2 firmware comply with the 
                      requirements of SP 800-131A.
                      The NSA Suite B  128-bit and 192-bit modes have the IMM2 firmware
                      comply with the requirements of the NSA Suite B Cryptography standards."
                      ::= { cryptoSettings 1 }

         cryptoSnmpv3 OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disallow(0),
                        allow(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disallow or allow SNMPv3 accounts that do not comply with 
                      NIST compliance mode when NIST compliance has been enabled."
                      ::= { cryptoSettings 2 } 
                      
            cryptoInsufCompliance OBJECT IDENTIFIER ::= { cryptoSettings 3 }
             
			  cryptoInsufComplianceTable OBJECT-TYPE
                      SYNTAX			SEQUENCE OF CryptoInsufComplianceEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"This table contains items not in compliance with the current cyrptoMode setting."
                      ::= { cryptoInsufCompliance 1 }

              cryptoInsufComplianceEntry OBJECT-TYPE
                      SYNTAX			CryptoInsufComplianceEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"Each row contains an insufficient compliance item name."
                      INDEX			{ cryptoInsufComplianceItemIndex }
                      ::= { cryptoInsufComplianceTable 1 }

              CryptoInsufComplianceEntry ::=
                      SEQUENCE {
	                  cryptoInsufComplianceItemIndex   INTEGER,
	                  cryptoInsufComplianceItemName    OCTET STRING,	                 			
                      }

              cryptoInsufComplianceItemIndex OBJECT-TYPE
                      SYNTAX			INTEGER (1..1000)
                      ACCESS			read-only
                      STATUS			mandatory
                      DESCRIPTION	"The index number of one insufficient compliance item entry."
                      ::= { cryptoInsufComplianceEntry 1 }

              cryptoInsufComplianceItemName OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "The name of one insufficient compliance item."
                      ::= { cryptoInsufComplianceEntry 2 }             
   
         
        -- ***********************************************************************
        -- Certificate Domain Names   NOTE: IMM2-only
        -- ***********************************************************************

        certDomainNames OBJECT IDENTIFIER ::= { tcpApplicationConfig 8 }
			 
			 certDomainNameTable OBJECT-TYPE
                      SYNTAX			SEQUENCE OF CertDomainNameEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"This table contains certificate domain names and status."
                      ::= { certDomainNames 1 }

             certDomainNameEntry OBJECT-TYPE
                      SYNTAX			CertDomainNameEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"Each row contains a certificate domain name and status."
                      INDEX			{ certDomainNameIndex }
                      ::= { certDomainNameTable 1 }

             CertDomainNameEntry ::=
                      SEQUENCE {
	                  certDomainNameIndex   INTEGER,
	                  certDomainName        OCTET STRING,
	                  certDomainNameStatus  OCTET STRING			
                      }

             certDomainNameIndex OBJECT-TYPE
                      SYNTAX			INTEGER (1..1000)
                      ACCESS			read-only
                      STATUS			mandatory
                      DESCRIPTION	"The index number of one certificate domain name entry."
                      ::= { certDomainNameEntry 1 }

             certDomainName OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "The Certificate Domain Name of one certificate domain name entry."
                      ::= { certDomainNameEntry 2 }
             
             certDomainNameStatus OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "The status of the Certificate Domain Name entry."
                      ::= { certDomainNameEntry 3 }

             addCertDomainName  OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Add one Certificate Domain Name to the certificate domain name table."
                      ::= { certDomainNames 2}

             rmCertDomainName  OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Remove one Certificate Domain Name to the certificate domain name table."
                      ::= { certDomainNames 3}
                                    
                                    
        -- ***********************************************************************
        -- Storage Key Repository Servers   NOTE: IMM2-only
        -- ***********************************************************************

        skrServers OBJECT IDENTIFIER ::= { tcpApplicationConfig 9 }
			 
             skrServerTable OBJECT-TYPE
                      SYNTAX			SEQUENCE OF SkrServerEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"This table contains Storage Key Repository Server hostnames and ports."
                      ::= { skrServers 1 }

             skrServerEntry OBJECT-TYPE
                      SYNTAX			SkrServerEntry
                      ACCESS			not-accessible
                      STATUS			mandatory
                      DESCRIPTION	"Each row contains a Storage Key Repository Server hostname and port."
                      INDEX			{ skrServerIndex }
                      ::= { skrServerTable 1 }

             SkrServerEntry ::=
                      SEQUENCE {
	                  skrServerIndex    INTEGER,
	                  skrServerHostname OCTET STRING,
	                  skrServerPort     INTEGER			
                      }

             skrServerIndex OBJECT-TYPE
                      SYNTAX			INTEGER (1..1000)
                      ACCESS			read-only
                      STATUS			mandatory
                      DESCRIPTION	"The index number of one Storage Key Repository Server entry."
                      ::= { skrServerEntry 1 }

             skrServerHostname OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Storage Key Repository Server hostname or IP address."
                      ::= { skrServerEntry 2 }
             
             skrServerPort OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Storage Key Repository Server port number."
                      ::= { skrServerEntry 3 } 

             skrServerCertAction  OBJECT-TYPE
                      SYNTAX  INTEGER {
                      importServerCertificate(1),
                      removeServerCertificate(2)
                      }
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "importServerCertificate - 
                          Import Storage Key Repository Server certificate.                      
                          For tftp mode, skrConfigFtpServer and skrConfigFileName must contain valid values.
                          For sftp mode, skrConfigFTPCallUserID and skrConfigFtpCallPassword must also contain valid values.                                               
                      removeServerCertificate - 
                          Remove Storage Key Repository Server certificate."
                      ::= { skrServers 2 }
         
             skrDeviceGroup  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..17))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "An optional NULL terminated 16 character string that contains the Device Group that the server drives belong to."
                      ::= { skrServers 3 }                 


           skrClientConfigCertficate OBJECT IDENTIFIER ::= { skrServers 4 }
        
             skrClientCertificateGeneration OBJECT-TYPE
                      SYNTAX  INTEGER {
                      generateNewKeyandSelfSigned(1),
                      generateNewKeyandCSR(2)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Initiate the new key and certificate generation process for the
                      key repository client. The required fields in skrCertificateData must be set 
                      to valid contents.   
                      generateNewKeyandSelfSigned - 
                          Use this to generate a new encryption 
                          key pair and install a self-signed certificate. If a key and a 
                          certificate are present, they will be replaced. After the operation 
                          is complete, SSL may be enabled using the new key and certificate. 
                      generateNewKeyandCSR - 
                          Use this to generate a new encryption key 
                          and a certificate signing request (CSR). After the operation is 
                          complete, the CSR file may be downloaded and sent to a certificate 
                          authority (CA) for signing.
                      NOTE: Value returned for the GET command is meaningless
                      for this MIB object."
                      ::= { skrClientConfigCertficate 1 }
             
             skrClientCertificateTransfer OBJECT-TYPE
                      SYNTAX  INTEGER {
                      importSignedCertificate(1),
                      downloadCertificate(2),
                      downloadCSR(3)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "For tftp mode, skrConfigFtpServer and skrConfigFileName must contain valid values.
                      For sftp mode, skrConfigFTPCallUserID and skrConfigFtpCallPassword must also contain valid values.  
                      importSignedCertificate - 
                          Use this to import a signed certificate. To obtain a signed 
                          certificate, a certificate signing request (CSR) must first 
                          be generated and sent to a certificate authority (CA). The 
                          imported certificate must contain a public key that corresponds 
                          to the key pair previously generated by the generateNewKeyandCSR.
                      downloadCertificate - 
                          Use this link to download a copy of the currently installed 
                          certificate. The certificate will be in DER format. The contents 
                          of the certificate can be viewed using a third-party tool such as 
                          OpenSSL (www.openssl.org).  An example of the command line for 
                          viewing the contents of the certificate using OpenSSL would look 
                          something like the following:  
                          openssl x509 -in cert.der -inform DER -text  
                      downloadCSR - 
                          The file produced when creating a CSR is in DER or PEM format 
                          according to sslCertificateCSRDownloadFormat. If your CA expects 
                          the data in some other format, the file can be converted using a 
                          third-party tool such as OpenSSL(www.openssl.org). 
                          If the CA asks you to copy the contents of the CSR file into 
                          a web browser window, PEM format is usually expected.

                      NOTE: Value returned for the GET command is meaningless
                      for this MIB object."
                      ::= { skrClientConfigCertficate 2 }

             skrClientCertificateStatus  OBJECT-TYPE
                      SYNTAX INTEGER {
                        no-cert-installed(1),
                        self-signed-installed(2),
                        ca-signed-installed(3),
                        csr-generated(4),
                        self-signed-and-csr-generated(5),
                        ca-signed-and-csr-generated(6)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of the installed Web certificates.
                       1 = Private Key and Cert/CSR not available.
	                   2 = Private Key and Self-signed cert installed.
	         	       3 = Private Key and CA-signed cert installed.
	         	       4 = Private Key stored, CSR available for download.
                       5 = Private Key and Self-signed cert installed, Private Key stored, CSR available for download.
                       6 = Private Key and CA-signed cert installed, Private Key stored, CSR available for download. "
                      ::= { skrClientConfigCertficate 3 }         

             skrClientCertificateExpirationDate  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Expiration date of the SKR client certificate."
                      ::= { skrClientConfigCertficate 4 }
                      
             skrClientCertificateRemove  OBJECT-TYPE
                      SYNTAX  INTEGER {
                      removeServerCertificate(1)
                      }
                      ACCESS  write-only
                      STATUS  mandatory
                      DESCRIPTION
                      "removeServerCertificate - 
                          Remove SKR client certificate."
                      ::= { skrClientConfigCertficate 5 }

             
           skrCertificateData OBJECT IDENTIFIER ::= { skrServers 5 }

             skrCertificateDataCountry OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Required field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the country where the IMM physically
                      resides.  
                      This field must contain the 2 character country code."
                      ::= { skrCertificateData 1}

             skrCertificateDataStateorProvince OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Required field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the state or province where the IMM
                      physically resides. 
                      This field may contain a maximum of 30 characters. "
                      ::= { skrCertificateData 2}
             
             skrCertificateDataCityOrLocality OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Required field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the city or locality where the IMM
                      physically resides. 
                      This field may contain a maximum of 50 characters."
                      ::= { skrCertificateData 3}

             skrCertificateDataOrganizationName OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Required field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the company or organization that 
                      owns the IMM. When this is used to generate a CSR, the 
                      issuing CA may verify that the organization requesting the 
                      certificate is legally entitled to claim ownership of the 
                      given company or organization name. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 4}

             skrCertificateDataIMMHostName OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Required field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the IMM host name that currently 
                      appears in the browser URL address bar. This certificate 
                      attribute is generally referred to as the Common Name (CN). 
                      Special care must be taken to ensure that the value entered 
                      into the IMM host name field exactly matches the host name 
                      as it is known by the web browser when it access the IMM. 
                      The browser compares the host name in the resolved URL to the 
                      name that appears in the certificate. In order to prevent 
                      certificate warnings from the browser, the value used in this 
                      field must match the host name used by the browser to connect 
                      to the IMM. 
                      For instance, if the URL address bar in the browser currently 
                      were to appear as http://mm11.xyz.com/private/main.ssi, the 
                      value used for the IMM Host Name field should be mm11.xyz.com. 
                      If the URL were http://mm11/private/main.ssi, the value used
                      should be mm11 . 
                      If the URL were http://192.168.70.2/private/main.ssi, 
                      the value used should be 192.168.70.2 .
                      It is the users responsibility to ensure the correct value 
                      is entered and works. 
                      This field may contain a maximum of 60 characters. "
                      ::= { skrCertificateData 5}
             
             skrCertificateDataContact OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the name of a contact person 
                      responsible for the IMM. 
                      This field may contain a maximum of 60 characters. "
                      ::= { skrCertificateData 6}
             
             skrCertificateDataEmailAddr OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate. 
                      Use this field to indicate the email address of a contact 
                      person responsible for the IMM. 
                      This field may contain a maximum of 60 characters. "
                      ::= { skrCertificateData 7}

             skrCertificateDataOrganizationUnit OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate.
                      Use this field to indicate the unit within the company 
                      or organization that owns the IMM. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 8}

             skrCertificateDataSurname OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate.
                      Use this field for additional information, such as the 
                      surname of a person responsible for the IMM. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 9}

             skrCertificateDataGivenName OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate. 
                      Use this field for additional information, such as the 
                      given name of a person responsible for the IMM. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 10}

             skrCertificateDataInitials OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate. 
                      Use this field for additional information, such as the 
                      initials of a person responsible for the IMM.  
                      This field may contain a maximum of 20 characters."
                      ::= { skrCertificateData 11}

             skrCertificateDataDNQualifier OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR or self-signed
                      certificate. 
                      Use this field for additional information, such as a 
                      Distinguished Name Qualifier for the IMM. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 12}

             skrCertificateDataCSRChallengePassword OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR. 
                      Use this field to assign a password to the CSR.
                      This field may contain a maximum of 30 characters. "
                      ::= { skrCertificateData 13}

             skrCertificateDataCSRUnstructuredName OBJECT-TYPE
                      SYNTAX OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Optional field for generating a CSR. 
                      Use this field for additional information, such as an 
                      unstructured name assigned to the IMM. 
                      This field may contain a maximum of 60 characters."
                      ::= { skrCertificateData 14}
             
             skrConfigFtpServer    OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "To import certificates, set the IP address or host name of the server 
                      where the file should be transferred from. The address must be entered 
                      in a dotted decimal IP string (e.g. 9.37.44.2), or equivalent for IPv6."
                      ::= { skrServers 6 }
                      
             skrConfigFtpServerMode    OBJECT-TYPE
                      SYNTAX  INTEGER {
                        tftp(1),
                        sftp(3)}
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the FTP mode used."
                      ::= { skrServers 7 }

             skrConfigFtpCallPort  OBJECT-TYPE
                      SYNTAX  INTEGER
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the port on remote TFTP/SFTP server for data 
                      transmission (default values are 69/22, respectively)."
                      ::= { skrServers 8 }

             skrConfigFTPCallUserID  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the user account to login remote SFTP server."
                       ::= { skrServers 9 }

             skrConfigFtpCallPassword   OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the password to login remote SFTP server."
                       ::= { skrServers 10 }
                      
             skrConfigFileName      OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..254))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "File name on target system for the imported certificate."
                      ::= { skrServers 11 }

             skrServerCertificateExpirationDate  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Expiration date of the SKR Server certificate."
                      ::= { skrServers 12 }


     -- ***********************************************************************
     -- 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. "
                      ::= { 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. "
                      ::= { 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."
                      ::= { tcpPortAssignmentCfg 3 }
                   
         telnetLegacyCLIPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "telnet port number. Default value is 23."
                      ::= { tcpPortAssignmentCfg 4 }

         sshLegacyCLIPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SSH port number. Default value is 22."
                      ::= { tcpPortAssignmentCfg 6 }
                   
         snmpAgentPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Agent port number. Default value is 161."
                      ::= { tcpPortAssignmentCfg 8 }
                   
         snmpTrapsPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Traps port number. Default value is 162."
                      ::= { tcpPortAssignmentCfg 9 }
        
         remvidPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Remote Console port number. Default value is 3900."
                      ::= { tcpPortAssignmentCfg 10 }
        
         ibmSystemDirectorHttpPortAssignment OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "IBM Systems Director Http port number."
                      ::= { tcpPortAssignmentCfg 11 }


         ibmSystemDirectorHttpsPortAssignment OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "IBM Systems Director Https port number."
                      ::= { tcpPortAssignmentCfg 12 }
        
        
     -- ***********************************************************************
     -- LDAP Client 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 }
                   
         ldapServer4NameOrIPAddress     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 7 }

         ldapServer4PortNumber   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 8 }
                   
         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 9 }

         ldapUserSearchBaseDN     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-write
                      STATUS  deprecated
                      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).

                      NOTE: This Mib object is deprecated and no longer supported."
                      ::= { ldapClientCfg 10 }

         ldapGroupFilter     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..511))
                      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 11 }
	

         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 12 }

         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 13 }

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

	     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 15 }
	
	     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 16 }

         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 17 }

         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 18 }

         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 19 }
                      
         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 20 }
         
         ldapDomainSource     OBJECT-TYPE  --IMM2-only
                      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 21 }

         ldapForestName     OBJECT-TYPE   -- IMM1-only, return Not Found
                      SYNTAX  OCTET STRING (SIZE(0..64))  
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "In order to discover Global Catalogs (GC), the forest name must be configured 
                      in the ForestName property. The Global Catalogs are required for users who belong 
                      to universal groups in cross-domains. In environments where cross-domain group 
                      membership does not apply, this field can be left blank."
                      ::= { ldapClientCfg 22 }

         ldapAuthCfg        OBJECT-TYPE   -- IMM1-only, return Not Found
                      SYNTAX  INTEGER {
                        authenticationAndAuthorization(0),
                        authenticationOnly(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "If ldapAuthCfg is set to 0, LDAP server is used to authenticate and authorize
                      users. If it is set to 1, LDAP server is only used to authenticate users.

                      Note:LDAP Authentication Only mode is currently supported only in an Active
                      Directory environment."
                      ::= { ldapClientCfg 23 }


         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 24 }

         ldapServiceName     OBJECT-TYPE  --IMM2-only
                      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 25 }


        -- ********************************************************************************
        -- NTP Configuration
        -- ********************************************************************************
        ntpConfig  OBJECT IDENTIFIER ::= { tcpProtocols 8 }
        
         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 }

         ntpIpAddressHostname1  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "First NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 2 }

         ntpIpAddressHostname2  OBJECT-TYPE  --IMM2-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Second NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 4 }
                                    
         ntpIpAddressHostname3  OBJECT-TYPE  --IMM2-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Third NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 6 }
                                    
         ntpIpAddressHostname4  OBJECT-TYPE  --IMM2-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Fourth NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 7 }
                                  
                                    
         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 }
                      
         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 }


        -- ********************************************************************************
        -- IPMI Configuration      NOTE: IMM2-only
        -- ********************************************************************************
        ipmiConfig  OBJECT IDENTIFIER ::= { tcpProtocols 10 }
        
         ipmiEnable    OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable IPMI"
                      ::= { ipmiConfig 1 }					  

    -- ********************************************************************************
    -- Save/Restore Configuration    NOTE: IMM2-only
    -- ********************************************************************************
    configurationManagement       OBJECT IDENTIFIER ::= { configureSP 5 }


    configurationManagementTftpServer    OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..63))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "To save or restore the system configuration, 
                                set the IP address or host name of the TFTP server where
                                the file should be transferred to or from. The address must be entered in a
                                dotted decimal IP string (e.g. 9.37.44.2), or equivalent for IPv6."
                                ::= { configurationManagement 1 }

    configurationManagementFileName      OBJECT-TYPE
                                SYNTAX  OCTET STRING (SIZE(0..254))
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "File name of the saved file or restore-from file."
                                ::= { configurationManagement 2 }

    configurationManagementSaveStart    OBJECT-TYPE
                                SYNTAX INTEGER {
                                  execute(1),
                                  execute-nowait(2)
                                }
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "Start saving the configuration file to the specified target file
                                and system.
                                Using execute will cause the SNMP client to wait for the save
                                operation to complete.
                                Using execute-nowait will not cause the SNMP client to wait for
                                the save to complete. Instead it will save the configuration in
                                 the background.

                                Note 1: Both configurationManagementTftpServer and 
                                configurationManagementileName must be set. 
                                Note 2: Depending on the target, it might take up to several
                                seconds for the save operation to complete.  
                                Note 3: Use configurationManagementStatus to confirm the status of
                                the last operaion.
                                
                                NOTE: Value returned for the GET command is meaningless
                                for this MIB object."
                                ::= { configurationManagement 3 }

    configurationManagementRestoreStart    OBJECT-TYPE
                                SYNTAX INTEGER {
                                  execute(1),
                                  execute-nowait(2)
                                }
                                ACCESS  read-write
                                STATUS  mandatory
                                DESCRIPTION
                                "Start restoring the configuration file from the specified target 
                                file and system.
                                Using execute will cause the SNMP client to wait for the restore
                                operation to complete.
                                Using execute-nowait will not cause the SNMP client to wait for
                                the restore to complete. Instead it will restore the configuration 
                                in the background.

                                Note 1: Both configurationManagementTftpServer and 
                                configurationManagementileName must be set. 
                                Note 2: Depending on the target, it might take up to several
                                seconds for the operation to complete.  
                                Note 3: Use configurationManagementStatus to confirm the status of
                                the last operation.
                                
                                NOTE: Value returned for the GET command is meaningless
                                for this MIB object."
                                ::= { configurationManagement 4 }

    configurationManagementStatus        OBJECT-TYPE
                                SYNTAX INTEGER {
                                  success(0),
                                  failed(1),
                                  saving(2),
                                  restoring(3),
                                  unsupported(4)
                                }
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Get the status of the last configurationManagement operation which
                                was initiated through SNMP method."
                                ::= { configurationManagement 5 }
                                
                                
    -- ********************************************************************************
    -- Check IMM Version    NOTE: IMM2-only
    -- ********************************************************************************
    immVersionCheck                      OBJECT-TYPE
                                SYNTAX INTEGER {
                                  immVersion(2)
                                }
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Get the IMM version type."
                                ::= { configureSP 7 }


-- ***********************************************************************
--  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)   --IMM1 setting
                   }
                   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),
                      sleepS3(1),
                      poweredOn(255)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Indicates if the system is currently powered on, off, or in sleep state."
                    ::= { 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),
			suspendToRAM(6)
                    }
                    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            EveryDay,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            EveryDay,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 }
 		    
    -- ***********************************************************************
    -- Control Sleep State
    -- ***********************************************************************
       powerControlSleep OBJECT IDENTIFIER ::= { systemPower 6 }
             
        powerEnterSleep OBJECT-TYPE
                   SYNTAX  INTEGER {
                   execute (1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Set system to enter power sleep state.
                   The power sleep control actions will not work if the Sleep function is not enabled."
                   ::= { powerControlSleep  1 }

	    powerExitSleep OBJECT-TYPE
                   SYNTAX  INTEGER {
                   execute (1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Set system to exit power sleep state.
                   The power sleep control actions will not work if the Sleep function is not enabled."
                   ::= { powerControlSleep  2 }


    -- ***********************************************************************
    -- Control Power Restore Policy
    -- ***********************************************************************
       powerRestorePolicyControl OBJECT IDENTIFIER ::= { systemPower 7 }
             
        powerRestorePolicy OBJECT-TYPE
                   SYNTAX  INTEGER {
                    alwaysoff(0),
                    restore(1),
                    alwayson(2)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Power Restore Policy determines the mode of operation if a power loss occurs. This
                    setting can also be configured via BIOS F1 setup.
                    alwaysoff: System will remain off once power is restored.
                    restore: Restores system to the same state it was before power failed.
                    alwayson: System will automatically power on once power is restored."
                   ::= { powerRestorePolicyControl 1 }

	    powerRestoreDelay OBJECT-TYPE
                   SYNTAX  INTEGER {
                    disabled(0),
                    random(1)
                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                   "Power Restore Delay is executed when power restore policy is set to alwayson or restore
                    (if the previous state was power-on).
                    disabled: Power on the server without after AC is restored.
                    random: Provide a random delay between 1 and 15 seconds from the time when AC is restored 
                            to the time when the server is automatically powered on."
                   ::= { powerRestorePolicyControl 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            EveryDay,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 }
 
    bootServerF1Setup OBJECT-TYPE
                   SYNTAX INTEGER {
                    execute(1)
                   }
                   ACCESS write-only
                   STATUS mandatory
                   DESCRIPTION
           "Boot the server to UEFI F1 Setup. If the server is powered on when the action is initiated, 
           the server will be powered off with an OS shutdown, then powered back on immediately and will 
           automatically boot into UEFI F1 Setup. If the server is powered off when the action is 
           initiated, the server will be powered on immediately and will automatically boot into 
           UEFI F1 Setup."
                   ::= { restartReset 7 }
 

-- ***********************************************************************
--  Firmware Update    NOTE: Supported on IMM1 only
-- ***********************************************************************
    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 }


-- ***********************************************************************
--  Service Advisor
--
--       Note: Support is not available on all IMM2 based Servers
--
-- ***********************************************************************

 autoCallHomeSetup   OBJECT IDENTIFIER ::= { serviceAdvisor 1 }

     acceptLicenseAgreement OBJECT-TYPE
         SYNTAX INTEGER {
             disabled(0),
             enabled(1)
         }
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "Accept Terms and Conditions of Service Advisor. The user will have to accept the terms and conditions
         before Service Advisor can send diagnostic data to support personnel. If IMM configuration
         is reset to defaults, the user will have to accept the terms and conditions again before they can
         enable Service Advisor. For more information, please refer to the BladeCenter User's Guide.

         A GET of this object may return disabled(0) or enabled(1), depending upon the current state. However,
         only enabled(1) is accepted on a SET in order to accept the license agreement. A SET of disabled(0)
         will return noSuchValue and is not allowed."
         ::= {autoCallHomeSetup 1}

     serviceAdvisorEnable OBJECT-TYPE
         SYNTAX INTEGER {
             disabled(0),
             enabled(1)
         }
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "Disable/Enable Call Home Support. The User Agreement must be accepted and the contact information
         must be set before the Call Home Support function of Service Advisor can be enabled."
         ::= {autoCallHomeSetup 2}

 serviceSupportCenter  OBJECT IDENTIFIER ::= {serviceAdvisor 2}

     ibmSupportCenter OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The country code for the Support Center. 2 character ISO country code."
         ::= {serviceSupportCenter 1}
         
 contactInformation  OBJECT IDENTIFIER ::= {serviceAdvisor 3}

     companyName OBJECT-TYPE   
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         " The organization/company name of the contact person. 1-30 characters."
         ::= {contactInformation 1}

     contactName OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The name of the contact person.1-30 characters."
         ::= {contactInformation 2}

     phoneNumber OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The phone of the contact person. 5-30 characters."
         ::= {contactInformation 3}

     emailAddress OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The email of the contact person. It must contain '@' and dot '.' in form userid@hostname (30 characters maximum).
         The userid can be alphanumeric characters, '.', '-', or '_' but must begin and end with alphanumeric characters.
         The hostname can be alphanumeric characters, '.', '-', or '_'. It must contain at least two domain items.
         Every domain item should begin and end with alphanumeric character, and the last domain item should be 2-20 alphabetic characters."
         ::= {contactInformation 4}

     address OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The address of the machine location. The information in this field should be of sufficient detail to allow someone to
          quickly find the chassis when necessary. 1-30 characters."
         ::= {contactInformation 5}

     city OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The city of the machine location. 1-30 characters."
         ::= {contactInformation 6}

     state OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The state of the machine location. 2-3 characters."
         ::= {contactInformation 7}

     postalCode OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The postal code of the location for this system. 1-9 characters, only alphanumeric characters are valid."
         ::= {contactInformation 8}  

     phoneExtension OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The phone extension of the contact person. 30 characters maximum."
         ::= {contactInformation 9}

     altContactName OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The name of the alternate contact person. 1-30 characters."
         ::= {contactInformation 10}

     altPhoneNumber OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The phone of the alternate contact person. 5-30 characters."
         ::= {contactInformation 11}
         
    altPhoneExtension OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The phone extension of the alternate contact person. 30 characters maximum."
         ::= {contactInformation 12}    

     altEmailAddress OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The email of the alternate contact person. It must contain '@' and dot '.' in form userid@hostname (30 characters maximum).
         The userid can be alphanumeric characters, '.', '-', or '_' but must begin and end with alphanumeric characters.
         The hostname can be alphanumeric characters, '.', '-', or '_'. It must contain at least two domain items.
         Every domain item should begin and end with alphanumeric character, and the last domain item should be 2-20 alphabetic characters."
         ::= {contactInformation 13}
         
     machineLocationPhoneNumber OBJECT-TYPE  -- IMM2-only
         SYNTAX OCTET STRING
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
         "The phone of the physical location where the compuer system resides. 5-30 characters."
         ::= {contactInformation 14}
         
  httpProxyConfig  OBJECT IDENTIFIER ::= {serviceAdvisor 4}

    httpProxyEnable OBJECT-TYPE
        SYNTAX INTEGER{
           disabled(0),
           enabled(1)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
        "Disable/Enable of the HTTP Proxy. Select Enable to use the proxy for call home
         connections from the IMM to the Service Center. HTTP Proxy is used by the IMM when it is not connected to the internet directly."
        ::= {httpProxyConfig 1}

    httpProxyLocation OBJECT-TYPE
        SYNTAX OCTET STRING
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
        "Fully qualified host name or IP address of the HTTP Proxy. Maximum of 63 characters."
        ::= {httpProxyConfig 2}

    httpProxyPort OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
        "The port number of the HTTP Proxy. An integer value from 1 to 65535."
        ::= {httpProxyConfig 3}

    httpProxyUserName OBJECT-TYPE
        SYNTAX OCTET STRING
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
        "User Name of the HTTP Proxy. A maximum of 30 characters string without spaces."
        ::= {httpProxyConfig 4}

    httpProxyPassword OBJECT-TYPE
        SYNTAX OCTET STRING
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
        "Password of the HTTP Proxy. A maximum of 15 characters string without spaces."
        ::= {httpProxyConfig 5}
                                         

   activityLogs   OBJECT IDENTIFIER ::= { serviceAdvisor 5}

    activityLogTable  OBJECT-TYPE
                      SYNTAX  SEQUENCE OF ActivityLogEntry
                      ACCESS  not-accessible
                     STATUS  mandatory
                      DESCRIPTION
                      "
                      Table of Service Advisor Activity Log entries information. This table displays events that were generated 
                      by the system or user that are called home. The entries are displayed in reverse chronological order 
                      (most recent call home entry first). For any events that happen with same Date/Time, only one event will be 
                      called home. If a call home event that is already in the activity log is triggered again on the same event 
                      source, it will not be called home again unless the prior entry has been acknowledged as corrected or, in the
                      case of IMM1, 120 hours (5 days) have passed since it initially occurred and was called home."
                     ::= { activityLogs 1 }

      activityLogEntry OBJECT-TYPE
                    SYNTAX   ActivityLogEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "
                    Activity Log table entry. Each entry has the result of the call-home attempt,
                    the service number assigned for the issue by the Support Center, the event ID, event source, date and
                    time that event occured, and a text message.
                    "
                    INDEX { activityLogIndex }
                    ::= { activityLogTable 1 }


      ActivityLogEntry ::= SEQUENCE {
                 activityLogIndex INTEGER,
                 activityLogString OCTET STRING,
                 activityLogAcknowledge INTEGER,
                 activityLogAttribute OCTET STRING
                  }


      activityLogIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000000)
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The Activity Log index number.
                  For consistent results, view as a table and not as individual entries."
                  ::= { activityLogEntry 1 }

      activityLogString OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "A string of data detailing one Activity Log entry. The text message is from the original entry in the event log.

                  For consistent results, view as a table and not as individual entries."
                  ::= { activityLogEntry 2 }

     activityLogAcknowledge OBJECT-TYPE
                  SYNTAX INTEGER{
                    no(0),
                    yes(1) }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                  "The acknowledgement of one Activity Log entry as corrected. This field allows the users to set a reminder next to
                  certain events to indicate their awareness of the issue. Checking the acknowledge flag will not cause the event to be removed
                  from the log or close the ticket at the Support Center. This log is not cleared, so the acknowledge flag can be used to indicate a problem
                  can be ignored. This field can be also used to override the 120 hour (5 day) filtering of reports via the Support Center or FTP/TFTP Server
                  of Service Data.
                  For consistent results, view as a table and not as individual entries."
                  ::= { activityLogEntry 3 }

      activityLogAttribute OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "
                  A string of data detailing one Activity Log entry's attribute. It contains states of both calling the Support Center and FTP/TFTP Server.
                  A PENDING indicates that the system is preparing for the event to be called home by collecting data about the systems state. A SUCCESS state
                  indicates that the problem was successfully transmitted to the Support Center or FTP/TFTP Server. A DISABLED state indicates that Service Advisor
                  has disabled calling the Support Center or FTP/TFTP Server while the hardware event is detected. A NOT SENT state indicates that the serviceable
                  event was not sent to prevent the same event from being sent repeatedly. The FAILED state indicates that the attempt
                  to transmit the event information was not successful. Additional information may be found in the Event Log.
                  The service number is similar to a ticket number that can be used as a reference to the issue reported by the machine
                  when contacting the Support Center. The event ID, event source, date and time are all information from the original entry in the event log.
                  The acknowledged as corrected field is a reminder to certain events to indicate their awareness of the issue.

                  For consistent results, view as a table and not as individual entries."
                  ::= { activityLogEntry 4 }

     -- ********************************************************************************
     -- autoftp
     -- ********************************************************************************
     --
       autoFTPSetup  OBJECT IDENTIFIER ::= { serviceAdvisor 6 }

        autoFTPCallMode    OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        ftp(1),
                        tftp(2),
                        sftp(3)} -- IMM2-only
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the automated problem reporting mode. Automated problem reporting mode allows the IMM to automatically put
                      service data to a specified server when a call home event is detected. For any call home events that happen with same Date/Time,
                      only one event will be reported. The system will also wait for an interval of 120 hours (5 days) before another identical event
                      can be sent for the same failed component."
                      ::= { autoFTPSetup 1 }

          autoFTPCallAddr  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the remote server address of FTP and TFTP. It should be fully qualified hostname or IP address."
                       ::= { autoFTPSetup 2 }
         autoFTPCallPort  OBJECT-TYPE
                        SYNTAX  INTEGER
                        ACCESS  read-write
                        STATUS  mandatory
                        DESCRIPTION
                        "This field specifies the port on remote FTP/TFTP server for data transmission."
                       ::= { autoFTPSetup 3 }

         autoFTPCallUserID  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the user account to login remote FTP server."
                       ::= { autoFTPSetup 4 }

          autoFTPCallPassword   OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the password to login remote FTP server."
                       ::= { autoFTPSetup 5 }

  -- ********************************************************************************
  --    Call Home Exclusion List
  -- ********************************************************************************

  callHomeExclusionEvents OBJECT IDENTIFIER ::= {  serviceAdvisor 7 }


    readCallHomeExclusionEventTable  OBJECT-TYPE
                      SYNTAX  SEQUENCE OF ReadCallHomeExclusionEventEntry
                      ACCESS  not-accessible
                      STATUS  mandatory
                      DESCRIPTION
                      "Table of Call Home Exclusion Event entries information."
                     ::= { callHomeExclusionEvents 1 }

      readCallHomeExclusionEventEntry OBJECT-TYPE
                    SYNTAX   ReadCallHomeExclusionEventEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Call Home Exclusion Event table entry"
                    INDEX { readCallHomeExclusionEventIndex }
                    ::= { readCallHomeExclusionEventTable 1 }


      ReadCallHomeExclusionEventEntry::= SEQUENCE {
                 readCallHomeExclusionEventIndex INTEGER,
                 readCallHomeExclusionEventID OCTET STRING
                  }


     readCallHomeExclusionEventIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The index number of one Call Home Exclusion Event.
                  For consistent results, view as a table and not as individual entries."
                  ::= { readCallHomeExclusionEventEntry 1 }

      readCallHomeExclusionEventID OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The Event ID of one Call Home Exclusion Event entry.
                  For consistent results, view as a table and not as individual entries."
                  ::= { readCallHomeExclusionEventEntry 2 }


      addCallHomeExclusionEvent  OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Add one call home Event ID into the Call Home Exclusion List.
                      The Event ID is an 16-digit hexadecimal number (0-F) with an optional prefix of '0x' or '0X'.
                      The Event ID can be full specified with the 16 hexadecimal characters or can be specified with 
                      an asterisk ??wild card character in any of the right 8 most characters. The wild card capability 
                      allows for excluding a group of similar events. 
                      
                      If Service Advisor Terms and Conditions are accepted, an event can be added into the exclusion list.
                      
                      NOTE: Value returned for the GET command is meaningless for this MIB object."
                     ::= { callHomeExclusionEvents 2}

      rmCallHomeExclusionEvent  OBJECT-TYPE
                      SYNTAX  OCTET STRING
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Remove one call home Event ID from the Call Home Exclusion List.
                      The Event ID is an 16-digit hexadecimal number (0-F) with an optional prefix of '0x' or '0X'.
                      The Event ID can be full specified with the 16 hexadecimal characters or can be specified with 
                      an asterisk ??wild card character in any of the right 8 most characters. The wild card capability 
                      allows for excluding a group of similar events.
                      
                      If Service Advisor Terms and Conditions are accepted, an event on the exclusion list can be removed.

                      NOTE: Value returned for the GET command is meaningless for this MIB object."
                     ::= { callHomeExclusionEvents 3}
      rmAllCallHomeExclusionEvent  OBJECT-TYPE
                      SYNTAX  INTEGER {
                      execute(1)
                      }
                      ACCESS  read-write
                      STATUS  mandatory
                      DESCRIPTION
                      "Remove all Event IDs from the Call Home Exclusion List.
                      If Service Advisor Terms and Conditions are accepted, events on the exclusion list can be removed.

                      NOTE: Value returned for the GET command is meaningless for this MIB object."
                     ::= { callHomeExclusionEvents 4}

  -- ********************************************************************************
  --    Generate Test Call Home
  -- ********************************************************************************

  testCallHome OBJECT IDENTIFIER ::= {  serviceAdvisor 8 }

      generateTestCallHome  OBJECT-TYPE  -- IMM2-only
                   SYNTAX  INTEGER {
                    execute(1)
                   }
                   ACCESS  write-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Generate a Test Call Home." 
                   ::= { testCallHome 1}


-- *************************************************************************
-- Scalable Complex Information
-- *************************************************************************

  scalableComplex OBJECT IDENTIFIER ::= {  scaling 1 } 
  
      scalableComplexIdentifier  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The unique numeric identifier for a complex."
                  ::= { scalableComplex 1 }

      scalableComplexNumPartitions  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The number of partitions currently defined for this complex."
                  ::= { scalableComplex 2 }

      scalableComplexNumNodes  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The number of nodes existing in this complex, regardless
                     of their assignment to any given partition. For ITEs or blabde,
                     the physical slot location of the nodes can be determined from the
                     scalableComplexNodeTable."
                  ::= { scalableComplex 3 }


      scalableComplexClear  OBJECT-TYPE
                  SYNTAX  INTEGER {
                    execute(1)
                   }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This clears all partition information related to the complex. Any nodes
                     associated with the complex are no longer assigned to any partitions.
                     All nodes in the complex must be powered off prior to attempting this 
                     operation, otherwise, the action will fail."
                  ::= { scalableComplex 4 }


      -- *************************************************************************
      -- Scalable Complex Partition Information
      -- *************************************************************************

      scalableComplexPartition OBJECT IDENTIFIER ::= { scaling 2 }
  
      scalableComplexPartitionTable OBJECT-TYPE
                  SYNTAX  SEQUENCE OF ScalableComplexPartitionEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Table of scalable complex partition information."
                  ::= { scalableComplexPartition 1 }

      scalableComplexPartitionEntry OBJECT-TYPE
                  SYNTAX ScalableComplexPartitionEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Scalable complex partition information."
                  INDEX { scalableComplexPartitionIdentifier }
                  ::= { scalableComplexPartitionTable 1 }

      ScalableComplexPartitionEntry ::= SEQUENCE {
                  scalableComplexPartitionIdentifier    INTEGER,
                  scalableComplexPartitionMode          INTEGER,
                  scalableComplexPartitionPriNodeKey    OCTET STRING,
                  scalableComplexPartitionNumNodes      INTEGER,
                  scalableComplexPartitionStatus        INTEGER
                  }

      scalableComplexPartitionIdentifier  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The unique numeric identifier for a partition defined within a complex
                     installed in the chassis."
                  ::= { scalableComplexPartitionEntry 1 }

      scalableComplexPartitionMode  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        partition(1),
                        standalone(2)
                  }
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                    "The currently configured mode of this partition. It is recommended that
                     a partition be powered off prior to modification of the mode. In addition,
                     switching a partition mode to stand-alone will cause subsequent partition
                     actions to be ignored until the partition mode is restored."
                  ::= { scalableComplexPartitionEntry 2 }

      scalableComplexPartitionPriNodeKey  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The Node Key for the primary node in the partition. The Node Key is used 
                     to select partition for some actions that affect all nodes in the partition."
                  ::= { scalableComplexPartitionEntry 3 }

      scalableComplexPartitionNumNodes  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The number of nodes currently defined for this partition."
                  ::= { scalableComplexPartitionEntry 4 }

      scalableComplexPartitionStatus  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        poweredoff(1),
                        poweredon(2),
                        invalid(3)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The current power status of this partition when the partition has a
                     valid partition configuration. However, in the event the partition
                     reports a partition consitency check problem, the invalid state is provided."
                  ::= { scalableComplexPartitionEntry 5 }

      
      scalableComplexPartitionSelect  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This Node Key of Primary node of the partition is used to select the
                     partition for which a specific action will be taken"
                  ::= { scalableComplexPartition 2 }

      scalableComplexPartitionAction  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        delete(1),
                        poweron(2),
                        poweroff(3),
                        powercycle(4)                        
                  }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This object allows various actions to be taken in relation to a particular partition
                     in a given complex.

                     delete(1) - Deletes the partition from the complex. All nodes in the partition must
                                 be powered off prior to attempting this operation, otherwise, the action
                                 will fail.

                     poweron(2) - Powers up a powered off partition

                     poweroff(3) - Powers off an already powered on partition

                     powercycle(4) - Power cycles a partition"
                  ::= { scalableComplexPartition 3 }   
                                                                         
                                                                      
                  
      -- *************************************************************************
      -- Scalable Complex Partition Create
      -- *************************************************************************

      scalableComplexPartitionCreate OBJECT IDENTIFIER ::= { scaling 3 }
  
      scalableComplexPartitionCreateTable OBJECT-TYPE
                  SYNTAX  SEQUENCE OF ScalableComplexPartitionCreateEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Table used to identify the nodes to be used in create of a partition.
                     The nodes are identified by Node key. The first node listed will be the
                     primary node."
                  ::= { scalableComplexPartitionCreate 1 }

      scalableComplexPartitionCreateEntry OBJECT-TYPE
                  SYNTAX ScalableComplexPartitionCreateEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Node information for partition creation."
                  INDEX { scalableComplexPartitionCreateIndex }
                  ::= { scalableComplexPartitionCreateTable 1 }

      ScalableComplexPartitionCreateEntry ::= SEQUENCE {
                  scalableComplexPartitionCreateIndex   INTEGER,
                  scalableComplexPartitionCreateNodeKey OCTET STRING
                  }

      scalableComplexPartitionCreateIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The table index."
                  ::= { scalableComplexPartitionCreateEntry 1 }

      scalableComplexPartitionCreateNodeKey  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  read-write
                  STATUS  mandatory
                  DESCRIPTION
                    "The Node Key for a node included in the partition to be created. The first Node Key 
                    in the table is used will be the primary node in the partition to be created."
                  ::= { scalableComplexPartitionCreateEntry 2 }
                                                        
                                                        
      scalableComplexPartitionActionCreate  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        create(1),
                        clear(2)
                  }                         
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This object is used to request creation of a new partition, using the nodes
                     listed in the scalableComplexPartitionCreateTable. 
                                                                         
                     None of the systems can be part of another valid partition, and there cannot 
                     be duplicate Node Keys specified. Partition changes will fail if any of the 
                     systems specified in the change are powered on.                                                    
                                                                         
                     If the partition is successfully created, the scalableComplexPartitionCreateTable
                     entries will be cleared."
                  ::= { scalableComplexPartitionCreate 2 }  
                                   
                  
      -- *************************************************************************
      -- Scalable Complex Node Information
      -- *************************************************************************

  scalableComplexNode OBJECT IDENTIFIER ::= { scaling 4 }
  
      scalableComplexNodeTable OBJECT-TYPE
                  SYNTAX  SEQUENCE OF ScalableComplexNodeEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Table of scalable complex node information. This table provides information
                     and control actions related to the nodes installed in the chassis.
                     Complex, partition and port information and control are defined
                     in their own tables."
                  ::= { scalableComplexNode 1 }

      scalableComplexNodeEntry OBJECT-TYPE
                  SYNTAX ScalableComplexNodeEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Scalable complex node information."
                  INDEX { scalableComplexNodeIndex }
                  ::= { scalableComplexNodeTable 1 }

      ScalableComplexNodeEntry ::= SEQUENCE {
                  scalableComplexNodeIndex         INTEGER, 
                  scalableComplexNodeSerialNumber  OCTET STRING,
                  scalableComplexNodeKey           OCTET STRING,
                  scalableComplexNodePartitionID   INTEGER,
                  scalableComplexNodeRole          INTEGER,
                  scalableComplexNodeNumPorts      INTEGER
                  }

      scalableComplexNodeIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The node table index."
                  ::= { scalableComplexNodeEntry 1 }

      scalableComplexNodeSerialNumber  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(8))
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The machine serial number of the node which identifies the node.
                     Note that uniqueness is not guaranteed."
                  ::= { scalableComplexNodeEntry 2 }

      scalableComplexNodeKey  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The Node Key for the node. The Node Key is used to select the 
                    node for some particular action."
                  ::= { scalableComplexNodeEntry 3 }
                  
      scalableComplexNodePartitionID  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "For an assigned node, the identifier of the partition this node is related to.
                     For an unassigned node, this object has no meaning."
                  ::= { scalableComplexNodeEntry 4 }                  

      scalableComplexNodeRole  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        primary(1),
                        secondary(2),
                        unassigned(255)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "Indicates if the node is assigned to a partition, and if so, provides an
                     indication of whether the node is the primary node of the partition or not."
                  ::= { scalableComplexNodeEntry 5 }

      scalableComplexNodeNumPorts  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The number of remote nodes that this node has links to."
                  ::= { scalableComplexNodeEntry 6 }


      scalableComplexNodeSelect  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This Node Key is used to select the node for which a specific action 
                    will be taken"
                  ::= { scalableComplexNode 2 }
                                                  
                                            
      scalableComplexNodeAction  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        poweroff(1),
                        poweron(2)
                  }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The actions that can be applied to an unassigned node. The current state is
                     provided by the scalableComplexNodeState object."
                  ::= { scalableComplexNode 3 }

      scalableComplexNodeAutoCreate  OBJECT-TYPE
                  SYNTAX  INTEGER {
                    execute(1)
                   }
                  ACCESS  write-only
                  STATUS  mandatory
                  DESCRIPTION
                    "This object is used to create a partition from all of the nodes in the complex.
                     
                     None of the systems can be in a partition and all the systems in the complex must 
                     be powered off."
                  ::= { scalableComplexNode 4 }


      -- *************************************************************************
      -- Scalable Complex Node Port Information
      -- *************************************************************************

  scalableComplexNodePort OBJECT IDENTIFIER ::= { scaling 5 }

      scalableComplexNodePortTable OBJECT-TYPE
                  SYNTAX  SEQUENCE OF ScalableComplexNodePortEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Table of scalable complex node port information which provides details
                     related to the port connectivity. Complex, partition and node information
                     and control are defined in their own tables."
                  ::= { scalableComplexNodePort 1 }

      scalableComplexNodePortEntry OBJECT-TYPE
                  SYNTAX ScalableComplexNodePortEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                    "Scalable complex node port information."
                  INDEX { scalableComplexNodePortIndex, scalableComplexNodePortNum }
                  ::= { scalableComplexNodePortTable 1 }

      ScalableComplexNodePortEntry ::= SEQUENCE {
                  scalableComplexNodePortIndex         INTEGER,
                  scalableComplexNodePortNum           INTEGER,
                  scalableComplexNodePortRemNodeKey    OCTET STRING,
                  scalableComplexNodePortRemNum        INTEGER,
                  scalableComplexNodePortStatus        INTEGER,
                  scalableComplexNodePortType          INTEGER
                  }

      scalableComplexNodePortIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The Node Port table index."
                  ::= { scalableComplexNodePortEntry 1 }

      scalableComplexNodePortNum  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The port number of a port on this node. Note that this port
                     number is 0-based, but since it is used as the table index
                     (0 is not allowed), it will be presented as one more than the
                     actual port number."
                  ::= { scalableComplexNodePortEntry 2 }

      scalableComplexNodePortRemNodeKey  OBJECT-TYPE
                  SYNTAX  OCTET STRING (SIZE(4))
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The Node Key for the remote node."

                  ::= { scalableComplexNodePortEntry 3 }

      scalableComplexNodePortRemNum  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The zero-based port number of the remote port."
                  ::= { scalableComplexNodePortEntry 4 }

      scalableComplexNodePortStatus  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        disabled(1),
                        enabled(2),
                        unknown(255)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The current status of the port."
                  ::= { scalableComplexNodePortEntry 5 }

      scalableComplexNodePortType  OBJECT-TYPE
                  SYNTAX  INTEGER  {
                        qpi(1),
                        exa(2),
                        unknown(255)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                    "The port type."
                  ::= { scalableComplexNodePortEntry 6 }


END               