---------------------------------------------------------------------------
--
-- Title: Lenovo XClarity Controller MIB
--
-- Version: 1.1.1
--
-- Release Date: 2019.09.11
--
-- Description: This MIB defines MIB objects that make system instrumentation
-- data available to SNMP management applications.
--
-- Copyright (c) 2016 Lenovo Corp.
-- All Rights Reserved.
--
--
-- OID Format Legend:
--   <a> = attribute ID
--   <i> = index ID
--
---------------------------------------------------------------------------
-- Revisions:
--  First official version, 2017/6/26
--  Remove several unuseful objects, 2017/7/19
--  Update SNMP Agent Community nodes to enable SNMPv1 TRAP, 2017/9/8
--  Using input and output instead of AC and DC to reflect the correct PSU types, 2017/9/19
--  Correct ReadCallHomeExclusionEventEntry::= syntax error, 2017/11/29
--  Add several attributes for raidDriveTable, 2018/2/5
--  remove three unuseful objects description, 2018/6/22
--  Add systemAepDIMMVpdTable to dispaly the AEP DIMM information, 2018/09/20
--  Add one attribute for systemMemoryVpdTable, 2018/12/11
--  Add some notes about the object systemComponentLevelVpdTrackingTable, 2019/08/06
--  Increase Destinguished Name to 300 Characters, 2019/09/11
--  Update the "systemState" description, 2020/2/17
--  Correct the "radiDriveSecured" to be "raidDriveSecured", 2020/06/23
---------------------------------------------------------------------------
LENOVO-XCC-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE                          FROM RFC-1212
	enterprises                          FROM RFC1155-SMI
	DisplayString                        FROM RFC1213-MIB
	IpAddress                            FROM RFC1155-SMI 
	Gauge                                FROM RFC1155-SMI

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

	InetAddressIPv6                      FROM INET-ADDRESS-MIB
	lenovoServerMibs                     FROM LENOVO-SMI-MIB;
	
	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.

lenovoXCCMIB MODULE-IDENTITY
    LAST-UPDATED "201707190000Z"
    ORGANIZATION "Lenovo Group Ltd."
    CONTACT-INFO
        "Lenovo
         Postal: 1009 Think Place
         Morrisville, NC 27560
         USA
         Tel: +1 (919) 968-4465
         E-mail: snmp@lenovo.com"
    DESCRIPTION
         "This MIB is to be used to provide monitoring information support for Lenovo XClarity Controller (XCC)"
    REVISION "201707190000Z"
    DESCRIPTION
        "Initial version."
	::= { lenovoServerMibs 1 }
	  

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

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

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

  --This group of objects provides configuration functions for system power
  systemPower  OBJECT IDENTIFIER ::= { lenovoXCCMIB 5 }
    
  --This group of objects provides functions Service Advisor
  serviceAdvisor     OBJECT IDENTIFIER ::= { lenovoXCCMIB 8 }

   -- Netfinity SP, node for XCC alert MIB
  supportProcessor OBJECT IDENTIFIER ::= { lenovoXCCMIB 158 }

    
-- ****************************************************************************
--  Monitors
-- ****************************************************************************   
    -- ************************************************************************
    -- Temperature
    -- ************************************************************************
    temperature OBJECT IDENTIFIER ::= { monitors 1 }  
     tempNumber 		OBJECT-TYPE
         SYNTAX			INTEGER
         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	DisplayString,
   	     tempNominalReading	DisplayString,
	     tempNonRecovLimitHigh	DisplayString,
	     tempCritLimitHigh	DisplayString,
	     tempNonCritLimitHigh DisplayString,
	     tempNonRecovLimitLow	DisplayString,
	     tempCritLimitLow	DisplayString,
	     tempNonCritLimitLow DisplayString,
         tempHealthStatus	DisplayString
     }

     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			DisplayString (SIZE(0..31)) 
         UNITS			"Degrees Celsius"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The measured temperature."
         ::= { tempEntry 3 }
      
     tempNominalReading	OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31)) 
         UNITS			"Degrees Celsius"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The nominal temperature, if available."
         ::= { tempEntry 4 }

     tempNonRecovLimitHigh	OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31))
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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
         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			INTEGER
         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	DisplayString,
	     voltNominalReading DisplayString,
	     voltNonRecovLimitHigh	DisplayString,
	     voltCritLimitHigh	DisplayString,
	     voltNonCritLimitHigh  	DisplayString,
	     voltNonRecovLimitLow	DisplayString,
	     voltCritLimitLow	   	DisplayString,
	     voltNonCritLimitLow	DisplayString,	
         voltHealthStatus       DisplayString 
     }

     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			DisplayString (SIZE(0..31)) 
         UNITS			"Millivolts"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The measured voltage."
         ::= { voltEntry 3 }
      
     voltNominalReading	OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31)) 
         UNITS			"Millivolts"
         ACCESS			read-only
         STATUS			mandatory
         DESCRIPTION	"The nominal voltage, if available."
         ::= { voltEntry 4 }

     voltNonRecovLimitHigh	OBJECT-TYPE
         SYNTAX			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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			DisplayString (SIZE(0..31)) 
         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
         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			INTEGER
         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	Gauge,
	     fanCritLimitHigh	Gauge,
	     fanNonCritLimitHigh  	Gauge,
	     fanNonRecovLimitLow	Gauge,
	     fanCritLimitLow	   	Gauge,
	     fanNonCritLimitLow	Gauge,
         fanHealthStatus       DisplayString   
     }

     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			Gauge
         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			Gauge
         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			Gauge
         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			Gauge
         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			Gauge
         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			Gauge
         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
         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 XCC 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 } 
     
     -- ***********************************************************************
      -- XCC VPD
      -- ***********************************************************************

      xccVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF XCCVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of XCC VPD."
                    ::= { vpdInformation 1 }

      xccVpdEntry OBJECT-TYPE
                    SYNTAX XCCVpdEntry 
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "iMBC VPD entry."
                    INDEX { xccVpdIndex }
                    ::= { xccVpdTable 1 }


      XCCVpdEntry ::= SEQUENCE {
                  xccVpdIndex INTEGER,
		  xccVpdType OCTET STRING,
                  xccVpdVersionString OCTET STRING,
		  xccVpdReleaseDate OCTET STRING
      }


      xccVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "XCC VPD index."
                  ::= { xccVpdEntry 1 }

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

      xccVpdVersionString  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "XCC VPD Version Number of the software(Bios/Diag/spFirmware).
                   For XCC the string contains both the Build ID and the Version
                   Number, for example, like '1AOO3A v1.0.1'. "
                  ::= { xccVpdEntry 3 }

      xccVpdReleaseDate  OBJECT-TYPE
                  SYNTAX  OCTET STRING
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "XCC VPD Release Date of when the software(Bios/Diag/spFirmware) was released."
                  ::= { xccVpdEntry 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. The activity
                    log types depend on ipmifru information in the server but exclude DIMM infromation.
                    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,  --XCC-only
                  cpuVpdCpuModel DisplayString  --XCC-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
                  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
                  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,
                  memoryConfigSpeed INTEGER,
                  memoryRatedSpeed INTEGER,
                  memoryLenovoPartNumber DisplayString,
                  memoryVpdAEPFlag INTEGER
      }

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

      memoryConfigSpeed  OBJECT-TYPE    
                  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
                  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 }

      memoryLenovoPartNumber  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System Memory Lenovo related Part Number.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 11 }

      memoryVpdAEPFlag  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Judge System DIMM belong to AEP DIMM.  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemMemoryVpdEntry 12 }
      -- ***********************************************************************
      -- System AEP DIMM VPD 
      -- ***********************************************************************
      systemAepDIMMVpdTable OBJECT-TYPE
                    SYNTAX  SEQUENCE OF SystemAepDIMMVpdEntry
                    ACCESS  not-accessible
                    STATUS  mandatory
                    DESCRIPTION
                    "Table of the system AEP DIMM VPD information.  View as a 
                    table and not as individual entries for consistent results."
                    ::= { vpdInformation 22 }

      systemAepDIMMVpdEntry OBJECT-TYPE
                    SYNTAX SystemAepDIMMVpdEntry 
                    ACCESS  not-accessible  
                    STATUS  mandatory
                    DESCRIPTION
                    "System AEP DIMM VPD entry.  View as a table and not as 
                    individual entries for consistent results."
                    INDEX { aepDIMMVpdIndex }
                    ::= { systemAepDIMMVpdTable 1 }

      SystemAepDIMMVpdEntry ::= SEQUENCE { 
                  aepDIMMVpdIndex INTEGER,
                  aepDIMMVpdMemory DisplayString,		  
                  aepDIMMVpdBankLocator DisplayString,
                  aepDIMMVpdMaxSpeed DisplayString,
                  aepDIMMVpdClockSpeed DisplayString,
                  aepDIMMVpdManufacturer DisplayString,
                  aepDIMMVpdSerialNumber DisplayString,
                  aepDIMMVpdPartNumber DisplayString,
                  aepDIMMVpdRawCapacity DisplayString,
                  aepDIMMVpdMemoryCapacity DisplayString,
                  aepDIMMVpdAppDirectCapacity DisplayString,
                  aepDIMMVpdUnconfiguredCapacity DisplayString,
                  aepDIMMVpdInaccessibleCapacity DisplayString,
                  aepDIMMVpdReservedCapacity DisplayString,
                  aepDIMMVpdClassification DisplayString,
                  aepDIMMVpdFirmwareVersion DisplayString,
                  aepDIMMVpdSoftwareID DisplayString
      }

      aepDIMMVpdIndex  OBJECT-TYPE
                  SYNTAX  INTEGER (1..1000)
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM VPD index.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 1 }

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

      aepDIMMVpdBankLocator  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "The Locator which manage AEP DIMM (e.g CPU 1) .  View as a table and not as 
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 3 }
                  
      aepDIMMVpdMaxSpeed  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM MAX Speed.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 4 }
                  
      aepDIMMVpdClockSpeed  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Clock Speed.  View as a table and not as  individual entries for consistent
                  results."
                  ::= { systemAepDIMMVpdEntry 5 }
                  
      aepDIMMVpdManufacturer  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Manufacturer.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 6 }
                  
      aepDIMMVpdSerialNumber  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Serial Number.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 7 }
     
      aepDIMMVpdPartNumber    OBJECT-TYPE
                  SYNTAX    DisplayString
                  ACCESS    read-only
                  STATUS    mandatory
                  DESCRIPTION
                  "System AEP DIMM Part Number.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 8 }

      aepDIMMVpdRawCapacity  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Raw Capacity.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 9 }

      aepDIMMVpdMemoryCapacity  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Memory Capacity.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 10 }

      aepDIMMVpdAppDirectCapacity  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM APP Direct Capacity.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 11 }

      aepDIMMVpdUnconfiguredCapacity    OBJECT-TYPE
                  SYNTAX    DisplayString
                  ACCESS    read-only
                  STATUS    mandatory
                  DESCRIPTION
                  "System AEP DIMM Unconfigureed Capacity.  View as a table and not as individual
                  entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 12 }

      aepDIMMVpdInaccessibleCapacity  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Inaccessible Capacity.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 13 }

      aepDIMMVpdReservedCapacity  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Reserved Capacity.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 14 }

      aepDIMMVpdClassification  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Classification.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 15 }

      aepDIMMVpdFirmwareVersion  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Firmware Version.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 16 }

      aepDIMMVpdSoftwareID  OBJECT-TYPE
                  SYNTAX  DisplayString
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "System AEP DIMM Software ID.  View as a table and not as
                  individual entries for consistent results."
                  ::= { systemAepDIMMVpdEntry 17 }                  
                                    
     -- ********************************************************************************
     -- Users
     -- ********************************************************************************
     --
     users  OBJECT IDENTIFIER ::= { monitors 6 }

      -- ********************************************************************************
      -- XCC Users
      -- ********************************************************************************
      --
      xccUsers  OBJECT IDENTIFIER ::= { users 1 }

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

       currentlyLoggedInEntry  OBJECT-TYPE
                     SYNTAX CurrentlyLoggedInEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                     "XCC 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 XCC users currently logged in."

                          ::= { currentlyLoggedInEntry 1 }

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

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

                          ::= { currentlyLoggedInEntry 3 }


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


      identityLED OBJECT-TYPE
                   SYNTAX INTEGER {
                     off(0),
                     on(1),
                     blinking(2),
                     notAvailable(3)
                   }
                   ACCESS  read-only
                   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-only
                   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 }
  
    -- ********************************************************************************
    -- 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-only
                 STATUS  mandatory
                 DESCRIPTION
                 "Power Capping Policy. Rack system only.

                 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. Rack system only."
                 ::= { fuelGaugeInformation 2 }

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

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

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

      fuelGaugePowerRemaining  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays power remaining value. Rack system only."
                 ::= { fuelGaugeInformation 8 }
                 
      fuelGaugeTotalPowerAvailable  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the calculated total remaining power available value. Rack system only."
                 ::= { fuelGaugeInformation 9 }                 
                 
      fuelGaugeTotalPowerInUse  OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays total power in use value."
                 ::= { fuelGaugeInformation 10 }
                 
      fuelGaugePowerConsumptionCpu  OBJECT-TYPE
                 SYNTAX  INTEGER 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the power consumption of the processors."
                 ::= { fuelGaugeInformation 11 }
      
      fuelGaugePowerConsumptionMemory  OBJECT-TYPE
      
                 SYNTAX  INTEGER 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                 "This field displays the power consumption of the memory."
                 ::= { fuelGaugeInformation 12 }
                 
      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 13 }
                        

-- ********************************************************************************
-- Power Policy Information
-- ********************************************************************************
    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. Rack system only"
        ::= { 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 Redundant
                    In redundant mode, the server is guaranteed to continue to remain operational with the loss of one power supply

		        Power Module Non-Redundant
                    In non-redundant mode, the server is not guaranteed to remain operational with the loss of a power supply. The system will throttle if a power supply fails in an attempt to stay up and running."
		        
        ::= { 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-only
        STATUS  mandatory
        DESCRIPTION
                "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."
        ::= { powerPolicyEntry 6 }    

       
    powerRestorePolicyControl OBJECT IDENTIFIER ::= { powerPolicyInformation 2 }
             
    powerRestorePolicy OBJECT-TYPE
        SYNTAX  INTEGER {
                  alwaysoff(0),
                  restore(1),
                  alwayson(2)
                }
        ACCESS  read-only
        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. Rack system only.
                 
                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-only
        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). Rack system only.
                 
                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 }

     -- ********************************************************************************
     -- Power Domain Power Trending 
     -- ********************************************************************************
      powerPowerTrending  OBJECT IDENTIFIER ::= { fuelGauge 3 }

     -- ********************************************************************************
     -- 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 1 }

       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,
                powerTrendingSampleInputAve INTEGER,
                powerTrendingSampleInputMin INTEGER,
                powerTrendingSampleInputMax INTEGER,
                powerTrendingSampleOutputAve INTEGER,
                powerTrendingSampleOutputMin INTEGER,
                powerTrendingSampleOutputMax 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 }

       powerTrendingSampleInputAve  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Input Average Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 3 }

       powerTrendingSampleInputMin  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Input Minimum Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 4 }

       powerTrendingSampleInputMax  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Input Maximum Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 5 }  

       powerTrendingSampleOutputAve  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Output Average Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 6 }

       powerTrendingSampleOutputMin  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Output Minimum Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 7 }

       powerTrendingSampleOutputMax  OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                "Power Trending Table Output Maximum Power in the last 24 hours."
                ::= { powerTrendingSampleEntry 8 } 

  -- ***********************************************************************
  --  Power Module
  -- ***********************************************************************
    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. Rack system only."
         ::= { powerModule 1 }

    powerTable      OBJECT-TYPE
         SYNTAX     SEQUENCE OF PowerEntry
         ACCESS     not-accessible
         STATUS     mandatory
         DESCRIPTION	"This table contains power inventory information. Rack system only."
         ::= { 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
  -- ***********************************************************************
    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
  -- ********************************************************************************

     localStorage  OBJECT IDENTIFIER ::= { monitors 13 }  
     
     -- ********************************************************************************
     -- RAID Group. 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
     -- ********************************************************************************

    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 { raidCtrlIndex }
            ::= { raidControllerTable 1 }

    RaidControllerEntry ::= SEQUENCE {
            raidCtrlIndex             INTEGER,
            raidCtrlName              DisplayString,  
            raidCtrlVPDProdName       DisplayString,
            raidCtrlFWPkgVersion      DisplayString,
            raidCtrlBatBCK            INTEGER,
            raidCtrlVPDManufacture    DisplayString,
            raidCtrlVPDUUID           DisplayString,
            raidCtrlVPDMachineType    DisplayString,
            raidCtrlVPDModel          DisplayString,
            raidCtrlVPDSerialNo       DisplayString,
            raidCtrlVPDFRUNo          DisplayString,
            raidCtrlVPDPartNo         DisplayString,
            raidCtrlCacheMdlStatus    DisplayString,
            raidCtrlCacheMdlMemSize   DisplayString,
            raidCtrlCacheMdlSerialNo  DisplayString,
            raidCtrlPCISlotNo         INTEGER,
            raidCtrlPCIBusNo          INTEGER,
            raidCtrlPCIDevNo          INTEGER,
            raidCtrlPCIFuncNo         INTEGER,
            raidCtrlPCIDevID          DisplayString,
            raidCtrlPCISubDevID       DisplayString,
            raidCtrlBatBCKProdName    DisplayString,
            raidCtrlBatBCKManufacture DisplayString,
            raidCtrlBatBCKStatus      DisplayString,
            raidCtrlBatBCKType        DisplayString,
            raidCtrlBatBCKChem        DisplayString,
            raidCtrlBatBCKSerialNo    DisplayString,
            raidCtrlBatBCKChgCap      DisplayString,
            raidCtrlBatBCKDgnChgCap   DisplayString,
            raidCtrlBatBCKCrtTemp     DisplayString,
            raidCtrlBatBCKFirmware    DisplayString,
            raidCtrlBatBCKDgnVoltage  DisplayString,
            raidCtrlBatBCKVoltage     DisplayString,
            raidCtrlBatCurrent        DisplayString,
            raidCtrlFWNames           DisplayString,
            raidCtrlPortDetails       DisplayString,
            raidCtrlStoragepools      DisplayString,
            raidCtrlDrives            DisplayString
    }
     
    raidCtrlIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID controller."
            ::= { raidControllerEntry 1 }
            
    raidCtrlName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to offer a name of one RAID controller."
            ::= { raidControllerEntry 2 }
      
    raidCtrlVPDProdName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Product Name of a particular RAID controller."
            ::= { raidControllerEntry 3 }

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

    raidCtrlBatBCK     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 }
  
  
    raidCtrlVPDManufacture     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacture of a particular RAID controller."
            ::= { raidControllerEntry 6 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    raidCtrlBatBCKFirmware    OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Firmware Info of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 29 }
			
    raidCtrlBatBCKDgnVoltage  OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Designed Voltage of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 30 }
			
    raidCtrlBatBCKVoltage     OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Voltage of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 31 }
			
    raidCtrlBatCurrent        OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Current of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 32 }
			
    raidCtrlBatBCKDgnChgCap     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Design Charge Capacity of Battery Backup of a particular RAID controller."
            ::= { raidControllerEntry 33 }

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

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

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

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

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

    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 { raidDriveIndex }
            ::= { raidDriveTable 1 }

    RaidDriveEntry ::= SEQUENCE {
            raidDriveIndex             INTEGER,
            raidDriveName              DisplayString,
            raidDriveVPDProdName       DisplayString,
            raidDriveState             DisplayString,
            raidDriveSlotNo            INTEGER,
            raidDriveDeviceID          DisplayString,
            raidDriveDiskType          DisplayString,
            raidDriveMediaType         DisplayString,
            raidDriveSpeed             DisplayString,
            raidDriveCurTemp           DisplayString,
            raidDriveHealthStataus     DisplayString,
            raidDriveCapacity          DisplayString,
            raidDriveVPDManufacture    DisplayString,
            raidDriveEnclosureID       DisplayString,
            raidDriveVPDMachineType    DisplayString,
            raidDriveVPDModel          DisplayString,
            raidDriveVPDSerialNo       DisplayString,
            raidDriveVPDFRUNo          DisplayString,
            raidDriveVPDPartNo         DisplayString,
            raidDriveFWNames           DisplayString,
            raidDriveRotationRate      DisplayString,
            raidDriveMediaErrCnt       Gauge,
            raidDriveOtherErrCnt       Gauge,
            raidDrivePredFailCnt       Gauge,
            raidDriveRemainingLife     DisplayString,
            raidDriveFdeCapable        INTEGER,
            raidDriveSecured           INTEGER 
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    raidDrivePredFailCnt     OBJECT-TYPE
            SYNTAX     Gauge
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Predication Fail Count of a particular RAID drive."
            ::= { raidDriveEntry 24 }

    raidDriveRemainingLife   OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Remaining life of a particular RAID drive. It is available only for SSD Drive."
            ::= { raidDriveEntry 25 }

    raidDriveFdeCapable     OBJECT-TYPE
            SYNTAX     INTEGER {
               no(0),
               yes(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates Full Disk Encryption Capable of a particular RAID drive."
            ::= { raidDriveEntry 26 }

    raidDriveSecured       OBJECT-TYPE
            SYNTAX     INTEGER {
               no(0),
               yes(1)
            }
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Indicates Secured status of a particular RAID drive."
            ::= { raidDriveEntry 27 }

			
    -- *************************************************************************************
    -- Physical Resource: The properties of RAID Controller Firmwares information
    -- *************************************************************************************

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

    raidControllerFirmwareEntry     OBJECT-TYPE
            SYNTAX     RaidControllerFirmwareEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
            "RAID Firmware Entry."
            INDEX { raidControllerFirmwareIndex }
            ::= { raidControllerFirmwareTable 1 }
      
    RaidControllerFirmwareEntry ::= SEQUENCE {
            raidControllerFirmwareIndex           INTEGER,
            raidControllerFirmwareName            DisplayString,
            raidControllerFirmwareCtrlName        DisplayString,            
            raidControllerFirmwareDescription     DisplayString,
            raidControllerFirmwareManufacture     DisplayString,
            raidControllerFirmwareVersion         DisplayString,
            raidControllerFirmwareReleaseDate     DisplayString
    }
   
    raidControllerFirmwareIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID Controller firmware."
            ::= { raidControllerFirmwareEntry 1 }
  
    raidControllerFirmwareName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular RAID Controller firmware."
            ::= { raidControllerFirmwareEntry 2 }
   
    raidControllerFirmwareCtrlName    OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The controller name of the firmwares."
            ::= { raidControllerFirmwareEntry 3 }

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

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

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

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

    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 { raidDriveFirmwareIndex }
            ::= { raidDriveFirmwareTable 1 }
      
    RaidDriveFirmwareEntry ::= SEQUENCE {
            raidDriveFirmwareIndex           INTEGER,
            raidDriveFirmwareName            DisplayString,
            raidDriveFirmwareDriveName       DisplayString,
            raidDriveFirmwareDescription     DisplayString,
            raidDriveFirmwareManufacture     DisplayString,
            raidDriveFirmwareVersion         DisplayString,
            raidDriveFirmwareReleaseDate     DisplayString
     }
   
    raidDriveFirmwareIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 1 }
  
    raidDriveFirmwareName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Name of a particular RAID Drive firmware."
            ::= { raidDriveFirmwareEntry 2 }

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

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

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

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

    raidDriveFirmwareReleaseDate     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
    -- ********************************************************************************
   
    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 { raidStoragepoolIndex }
            ::= { raidStoragepoolTable 1 }
      
    RaidStoragepoolEntry ::= SEQUENCE {
            raidStoragepoolIndex            INTEGER,
            raidStoragepoolName             DisplayString,
            raidStoragepoolControllerName   DisplayString,
            raidStoragepoolState            DisplayString,
            raidStoragepoolCapacity         DisplayString,
            raidStoragepoolVols             DisplayString,
            raidStoragepoolDrives           DisplayString
    }
   
    raidStoragepoolIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID storagepool."
            ::= { raidStoragepoolEntry 1 }
  
    raidStoragepoolName     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The name of a particular RAID storagepool."
            ::= { raidStoragepoolEntry 2 }

    raidStoragepoolControllerName      OBJECT-TYPE
			SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The controller name of the storagepool."
            ::= { raidStoragepoolEntry 3 }

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

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

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

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

    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 { raidVolumeIndex }
            ::= { raidVolumeTable 1 }
      
    RaidVolumeEntry ::= SEQUENCE {
            raidVolumeIndex             INTEGER,
            raidVolumeName              DisplayString,
            raidVolumeControllerName    DisplayString,
            raidVolumeStatus            DisplayString,
            raidVolumeCapacity          DisplayString,
            raidVolumeStripSize         DisplayString,
            raidVolumeBootable          DisplayString
     }
   
    raidVolumeIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID volume."
            ::= { raidVolumeEntry 1 }

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

    raidVolumeCapacity     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Capacity of a particular RAID volume."
            ::= { raidVolumeEntry 5 }
    
    raidVolumeStripSize     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The strip size of the RAID volume."
            ::= { raidVolumeEntry 6 }
	
    raidVolumeBootable     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "Whether the RAID volume is bootable."
            ::= { raidVolumeEntry 7 } 
            
    -- ********************************************************************************
    --    Adapter
    -- ********************************************************************************

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

    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,
            adapterGenericVPDProdName     DisplayString,
            adapterGenericSlotNo          INTEGER,
            adapterGenericLocation        DisplayString,
            adapterGenericCardInterface   DisplayString
    }

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

    adapterGenericVPDProdName     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 }
            
    adapterGenericSlotNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This Slot No. of a particular PCI adapter"
            ::= { adapterGenericEntry 3 }

    adapterGenericLocation     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Location of a particular PCI adapter."
            ::= { adapterGenericEntry 4 }
   
    adapterGenericCardInterface     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
    -- ********************************************************************************            

    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 { adapterNetworkFunctionIndex }
            ::= { adapterNetworkFunctionTable 1 }
      
    AdapterNetworkFunctionEntry ::= SEQUENCE {
            adapterNetworkFunctionIndex                     INTEGER,
            adapterNetworkFunctionNetworkVPDProdName        DisplayString,
            adapterNetworkFunctionAdapterVPDProdName        DisplayString,
            adapterNetworkFunctionNetworkVPDManufacturer    DisplayString,
            adapterNetworkFunctionNetworkVPDUUID            DisplayString,
            adapterNetworkFunctionNetworkVPDModel           DisplayString,
            adapterNetworkFunctionNetworkVPDSerialNo        DisplayString,
            adapterNetworkFunctionNetworkVPDFRUNo           DisplayString,
            adapterNetworkFunctionNetworkVPDPartNo          DisplayString,
            adapterNetworkFunctionFoDUID                    DisplayString,
            adapterNetworkFunctionSupportHotPlug            INTEGER,
            adapterNetworkFunctionPhysicalPortNumber        INTEGER,
            adapterNetworkFunctionMaxPortNumber             INTEGER,
            adapterNetworkFunctionPortNumber                INTEGER,
            adapterNetworkFunctionMaxDataWidth              INTEGER,
            adapterNetworkFunctionPackageType               DisplayString,
            adapterNetworkFunctionPCIBusNo                  INTEGER,
            adapterNetworkFunctionPCIDevNo                  INTEGER,
            adapterNetworkFunctionPCIFuncNo                 INTEGER,
            adapterNetworkFunctionPCIVendorId               DisplayString,
            adapterNetworkFunctionPCIDevId                  DisplayString,
            adapterNetworkFunctionPCIDevType                DisplayString,
            adapterNetworkFunctionPCIRevId                  DisplayString,
            adapterNetworkFunctionPCISubVendorId            DisplayString,
            adapterNetworkFunctionPCISubDevId               DisplayString,
            adapterNetworkFunctionPCISlotDesignation        DisplayString
     }
    
    adapterNetworkFunctionIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular network function."
            ::= { adapterNetworkFunctionEntry 1 }
            
    adapterNetworkFunctionNetworkVPDProdName     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 }

    adapterNetworkFunctionAdapterVPDProdName     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 }
            
    adapterNetworkFunctionNetworkVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular network function."
            ::= { adapterNetworkFunctionEntry 4 }

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 { adapterNetworkPortIndex }
            ::= { adapterNetworkPortTable 1 }
      
    AdapterNetworkPortEntry ::= SEQUENCE {
            adapterNetworkPortIndex                  INTEGER,
            adapterNetworkPortNetworkVPDProdName     DisplayString,
            adapterNetworkPortPhyPortNo              INTEGER,
            adapterNetworkPortPhyPortConnector       DisplayString,
            adapterNetworkPortPhyPortBurnedinAddress DisplayString,
            adapterNetworkPortNo                     INTEGER,
            adapterNetworkPortMaxDataSize            Gauge,
            adapterNetworkPortPermanentAddress       DisplayString,
            adapterNetworkPortNetworkAddress         DisplayString,
            adapterNetworkPortLinkTechnology         DisplayString,
            adapterNetworkPortvNICMode               DisplayString,
            adapterNetworkPortMaxSpeed               DisplayString,
            adapterNetworkPortProtocolType           DisplayString,
            adapterNetworkPortCurrentProtocol        DisplayString,
            adapterNetworkPortFCoEPermanentAddress   DisplayString,
            adapterNetworkPortFCoENetworkAddress     DisplayString,
            adapterNetworkPortConnectionType         DisplayString,
            adapterNetworkPortRole                   DisplayString,
            adapterNetworkPortTargetRelativePortNo   Gauge,
            adapterNetworkPortPhyPortLinkStatus      DisplayString,
            adapterNetworkPortPhyPortLinkSpeed       DisplayString
     }
   
    adapterNetworkPortIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular network port."
            ::= { adapterNetworkPortEntry 1 }
    
    adapterNetworkPortNetworkVPDProdName     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 }
    
    adapterNetworkPortPhyPortNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Port No. in the network function for this port."
            ::= { adapterNetworkPortEntry 3 }
            
    adapterNetworkPortPhyPortConnector     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Physical Port Connector Layout in the network function for this port."
            ::= { adapterNetworkPortEntry 4 }

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

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

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

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

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

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

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

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

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

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

    adapterNetworkPortFCoENetworkAddress     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The FCoE Network Address of a particular network port."
            ::= { adapterNetworkPortEntry 16 }
   
    adapterNetworkPortConnectionType     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 }
   
    adapterNetworkPortRole     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 }
   
    adapterNetworkPortTargetRelativePortNo     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 }   

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

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

    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 { adapterGPUFunctionIndex }
            ::= { adapterGPUFunctionTable 1 }
      
    AdapterGPUFunctionEntry ::= SEQUENCE {
            adapterGPUFunctionIndex                    INTEGER,
            adapterGPUFunctionGpuVPDProdName           DisplayString,
            adapterGPUFunctionAdapterVPDProdName       DisplayString,
            adapterGPUFunctionGpuVPDManufacturer       DisplayString,
            adapterGPUFunctionGpuVPDUUID               DisplayString,
            adapterGPUFunctionGpuVPDModel              DisplayString,
            adapterGPUFunctionGpuVPDSerialNo           DisplayString,
            adapterGPUFunctionGpuVPDFRUNo              DisplayString,
            adapterGPUFunctionGpuVPDPartNo             DisplayString,
            adapterGPUFunctionFoDUID                   DisplayString,
            adapterGPUFunctionSupportHotPlug           INTEGER,
            adapterGPUFunctionVideoMemorySize          DisplayString,
            adapterGPUFunctionVideoMemoryType          DisplayString,
            adapterGPUFunctionChipNumber               INTEGER,
            adapterGPUFunctionMaxDataWidth             INTEGER,
            adapterGPUFunctionPackageType              DisplayString,
            adapterGPUFunctionPCIBusNo                 INTEGER,
            adapterGPUFunctionPCIDevNo                 INTEGER,
            adapterGPUFunctionPCIFuncNo                INTEGER,
            adapterGPUFunctionPCIVendorId              DisplayString,
            adapterGPUFunctionPCIDevId                 DisplayString,
            adapterGPUFunctionPCIDevType               DisplayString,
            adapterGPUFunctionPCIRevId                 DisplayString,
            adapterGPUFunctionPCISubVendorId           DisplayString,
            adapterGPUFunctionPCISubDevId              DisplayString,
            adapterGPUFunctionPCISlotDesignation       DisplayString
     }
   
    adapterGPUFunctionIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular GPU function."
            ::= { adapterGPUFunctionEntry 1 }
    
    adapterGPUFunctionGpuVPDProdName     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 }

    adapterGPUFunctionAdapterVPDProdName     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 }
            
    adapterGPUFunctionGpuVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular GPU function."
            ::= { adapterGPUFunctionEntry 4 }

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

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

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

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

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

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

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

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

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

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

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

    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 { adapterGPUChipIndex }
            ::= { adapterGPUChipTable 1 }
      
    AdapterGPUChipEntry ::= SEQUENCE {
            adapterGPUChipIndex                INTEGER,
            adapterGPUChipGpuVPDProdName       DisplayString,
            adapterGPUChipNo                   INTEGER,
            adapterGPUChipName                 DisplayString,
            adapterGPUChipFamily               DisplayString,
            adapterGPUChipManufacturer         DisplayString,
            adapterGPUChipCoresEnabled         INTEGER,
            adapterGPUChipMaxClockSpeed        Gauge,
            adapterGPUChipExtBusClockSpeed     Gauge,
            adapterGPUChipAddressWidth         INTEGER,
            adapterGPUChipDataWidth            INTEGER,
            adapterGPUChipFormFactor           DisplayString,
            adapterGPUChipModel                DisplayString,
            adapterGPUChipSerialNo             DisplayString,
            adapterGPUChipFRUNo                DisplayString,
            adapterGPUChipPartNo               DisplayString,
            adapterGPUChipUniqueID             DisplayString
     }
   
    adapterGPUChipIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular GPU chip"
            ::= { adapterGPUChipEntry 1 }
    
    adapterGPUChipGpuVPDProdName     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 }
    
    adapterGPUChipNo     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Index of the GPU chip in the GPU adapter."
            ::= { adapterGPUChipEntry 3 }

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

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

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

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

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

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

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

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

    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 { adapterRAIDFunctionIndex }
            ::= { adapterRAIDFunctionTable 1 }
      
    AdapterRAIDFunctionEntry ::= SEQUENCE {
            adapterRAIDFunctionIndex                    INTEGER,
            adapterRAIDFunctionRaidVPDProdName          DisplayString,
            adapterRAIDFunctionAdapterVPDProdName       DisplayString,
            adapterRAIDFunctionRaidVPDManufacturer      DisplayString,
            adapterRAIDFunctionRaidVPDUUID              DisplayString,
            adapterRAIDFunctionRaidVPDModel             DisplayString,
            adapterRAIDFunctionRaidVPDSerialNo          DisplayString,
            adapterRAIDFunctionRaidVPDFRUNo             DisplayString,
            adapterRAIDFunctionRaidVPDPartNo            DisplayString,
            adapterRAIDFunctionFoDUID                   DisplayString,
            adapterRAIDFunctionSupportHotPlug           INTEGER,
            adapterRAIDFunctionMaxDataWidth             INTEGER,
            adapterRAIDFunctionPackageType              DisplayString,
            adapterRAIDFunctionPCIBusNo                 INTEGER,
            adapterRAIDFunctionPCIDevNo                 INTEGER,
            adapterRAIDFunctionPCIFuncNo                INTEGER,
            adapterRAIDFunctionPCIVendorId              DisplayString,
            adapterRAIDFunctionPCIDevId                 DisplayString,
            adapterRAIDFunctionPCIDevType               DisplayString,
            adapterRAIDFunctionPCIRevId                 DisplayString,
            adapterRAIDFunctionPCISubVendorId           DisplayString,
            adapterRAIDFunctionPCISubDevId              DisplayString,
            adapterRAIDFunctionPCISlotDesignation       DisplayString
     }
   
    adapterRAIDFunctionIndex     OBJECT-TYPE
            SYNTAX     INTEGER
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "This column is used to identify a particular RAID function."
            ::= { adapterRAIDFunctionEntry 1 }
    
    adapterRAIDFunctionRaidVPDProdName     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 }

    adapterRAIDFunctionAdapterVPDProdName     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 }
           
    adapterRAIDFunctionRaidVPDManufacturer     OBJECT-TYPE
            SYNTAX     DisplayString
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION     "The Manufacturer of a particular RAID function."
            ::= { adapterRAIDFunctionEntry 4 }

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

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

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

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

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

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

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

    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,
            adapterFwFunctionVPDProdName    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 }

    adapterFwFunctionVPDProdName     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
    -- ***********************************************************************
    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}


-- ***********************************************************************
--  Configure the XCC
-- ***********************************************************************
    -- ***********************************************************************
    -- 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-only
                   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-only
                   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-only
                   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-only
                   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-only
                  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-only
                  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
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in minutes to prohibit a remote login attempt after more than maximum login attempts have failed. The minimum value is 0 and the maximum value is 2880 minute. The default value is 60 minutes." 
                   ::= { generalRemoteCfg 7 }
                   
      userAuthenticationMethod OBJECT-TYPE
                    SYNTAX  INTEGER {
                       localOnly(0),
                       ldapOnly(1),
                       localFirstThenLdap(2),
                       ldapFirstThenLocal(3)
                    }
                    ACCESS  read-only
                    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
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "The amount of time, in minutes, that a user session established with the management server can be inactive before the user is logged out. The minimum value is 0 and the maximum value is 1440 minutes. The default value is 20 minutes. If the value is 0, web session never expire."
                   ::= { generalRemoteCfg 9 }

              
    -- ***********************************************************************
    -- SNMP alert filters
    -- ***********************************************************************
              
      snmpAlertFilters OBJECT IDENTIFIER ::= { generalRemoteCfg 10 }

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

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

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

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

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


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

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

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

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

       safSpTrapHardwareC   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                  "Non-Critical Alert: Redundant Power Supply failure."
                            ::= { snmpAlertFilters 12 }

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

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

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

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

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

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

       safSpTrapHardwareN   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                "Sev-Off Alert: Event Remote Login."
                            ::= { snmpAlertFilters 20 }


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

       safSpTrapAppS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Power on or off."  -- Off only for XCC
                              ::= { snmpAlertFilters 23 }

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

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

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

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

       safSpTrapNwChangeS   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Network change notification."
                            ::= { snmpAlertFilters 28 }
 

      -- ***********************************************************************
      -- begin account security management
      -- ***********************************************************************

       customSecuritySettings OBJECT IDENTIFIER ::= { generalRemoteCfg 20 }

           passwordExpirationWarningPeriod OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The amount of time, in days, before password expiration that users will begin to receive warnings about the impending expiration of the user password. The minimum value is 0 and the maximum value is the maximum password expiration period. The default value is 5 days. A value of 0 means that the users are never warned."
                   ::= { customSecuritySettings 1 }

           passwordExpirationPeriod OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The amount of time, in days, that a user may use a password before it must be changed. Smaller values reduce the amount of time for attackers to guess passwords. The minimum value is 0 and the maximum value is 365 days. The default value is 90 days. A value of 0 means that the password never expire."
                   ::= { customSecuritySettings 2 }

           minimumPasswordReuseCycle OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The minimum number of the times that a user must enter a unique password before the user can start to reuse passwords. A higher number enhances security. The minimum value is 0 and the maximum value is 10 times. The default value is 5 times. A value of 0 means that passwords may be reused immediately."
                   ::= { customSecuritySettings 3 }

           minimumPasswordLength OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The minimum number of characters that can be used to specify a valid password. The minimum value is 8 characters and the maximum value is 20 characters. The default value is 8 characters."
                   ::= { customSecuritySettings 5 }

           defaultAdminPasswordExpired OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "A value of 1 means that the factory default 'USERID' account password must be changed on next login. A value of 0 means that there is no such requirement. The default value is 0."
                   ::= { customSecuritySettings 6 }

           changePasswordFirstAccess OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "A value of 1 means that a user is required to change the password when the user logs in to the management server for the first time. A value of 0 means no such requirment. The default value is 1."
                   ::= { customSecuritySettings 8 }

           accountLockoutPeriod OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The minimum about of time, in minutes, that must pass before a user that was locked out can attempt to log back in again. The minimum value is 0 and the maximum value is 2880 minutes. The default value is 60 minutes. A value of 0 can make your system more exposed to serious denial of service attacks, where deliberate failed login attempts can leave accounts permanently locked."
                   ::= { customSecuritySettings 9 }

           maxLoginFailures OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The maximum number of times that a user can attempt to log in with an incorrect password before the user account is locked out. The number specified for the lockout period after maximum login failures determines how long the user account is locked out. Accounts that are locked cannot be used to gain access to the system even if a valid password is provided. The maximum value is 10 times. The default value is 5 times. A value of 0 means that accounts are never locked."
                   ::= { customSecuritySettings 10 }

           passwordChangeInterval OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The minimum about of time, in hours, that must elapse before a user may change a password again after it has been changed once. The value specified for this setting would not exceed the value specified for the password expiration period. A small value allows users to more quickly use old passwords. The range of acceptable values will be from 0 to 240 hours. The default value is 24 hours. If the value is 0, passwords may be changed immediately. "
                   ::= { customSecuritySettings 11 }


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


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



     portParity   OBJECT-TYPE   -- XCC-only
                  SYNTAX  INTEGER {
                    none(0),
                    odd(1),
                    even(3)
                  }
                  ACCESS  read-only
                  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-only
                     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
                  SYNTAX  INTEGER {
                    oneStopbit(0),
                    twoOrOnePtFive(1)
                  }
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Number of stop bits for the serial port."
                  ::= { serialPortCfg 4 }


     portCLImode OBJECT-TYPE
                    SYNTAX  INTEGER {
                      cliDisable(0),
                      cliWithEMScompatibleKeystrokeSeq(1),
                      cliWithUserDefinedKeystrokeSeq(2)
                    }
                    ACCESS  read-only
                    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, 
	 	           remoteAlertIdEntryAttachmentsToEmailAlerts INTEGER,
                   remoteAlertIdEntrySyslogPortAssignment INTEGER,  
                   remoteAlertIdEntrySyslogHostname OCTET STRING,
                   remoteAlertIdEntryType INTEGER  -- XCC-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-only
                                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-only
                                  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)) -- XCC limited to 64
                                  ACCESS  read-only
                                  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-only
                                  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-only
                                  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-only
                                  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-only
                                  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-only
			                      STATUS  mandatory
			                      DESCRIPTION
			                      "Indicates if the event log should be attached to  
		 	                      a email alert." 
		 	                      ::= { remoteAlertIdsEntry 9 }

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

      
      remoteAlertIdEntryType OBJECT-TYPE
                                SYNTAX  INTEGER {
                                  email(1),
                                  syslog(2)                
                                }
                                ACCESS  read-only
                                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-only
                            STATUS  mandatory
                            DESCRIPTION
                                "Critical Alert: Temperature threshold exceeded."
                            ::= { remoteAlertFiltersEntry 2 }

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

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

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

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


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

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

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

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

       rafSpTrapHardwareC   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                  "Non-Critical Alert: Redundant Power Supply failure."
                            ::= { remoteAlertFiltersEntry 12 }

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

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

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

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

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

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

       rafSpTrapHardwareN   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                "Sev-Off Alert: Event Remote Login."
                            ::= { remoteAlertFiltersEntry 20 }


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

       rafSpTrapAppS        OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            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-only
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Power On or Off." 
                              ::= { remoteAlertFiltersEntry 23 }

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

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

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

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

       rafSpTrapNwChangeS   OBJECT-TYPE
                            SYNTAX  INTEGER {
                              disabled(0),
                              enabled(1)
                            }
                            ACCESS  read-only
                            STATUS  mandatory
                            DESCRIPTION
                                "System Alert: Network change notification."
                            ::= { remoteAlertFiltersEntry 28 }

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

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

      -- 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 3  }
                                  
      -- 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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "User has no restrictions."
                    ::= { remoteAccessUserAuthorityLevelEntry 3 }

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

      ualAccountManagement OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can add/modify/delete users and change the global login settings in the Login Profiles panel.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 5 }

      ualConsoleAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can access the remote console.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 6 }

      ualConsoleAndVirtualMediaAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can access both the remote console and the virtual media feature.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 7 }

      ualServerPowerAccess OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can access the power on and restart functions for the remote server. These functions are available via the Power/Restart panel.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 8 }

      ualAllowClearLog OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can clear the event logs. Everyone can look at the event logs, but this particular permission is required to clear the logs.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 9 }
                    
      ualAdapterBasicConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can modify configuration parameters in the System Settings and Alerts panels.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 10 }
                    
      ualAdapterNetworkAndSecurityConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User can modify configuration parameters in the Security, Network Protocols, Network Interface, Port Assignments, and Serial Port panels.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 11 }
                    
      ualAdapterAdvancedConfig OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "It is custom user authority level. User has no restrictions when configuring the adapter. In addition, the user is said to have administrative access to the XCC, 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.
                    NOTE: The value is meaningless for this MIB object if the ualSupervisor or ualReadOnly is enabled."
                    ::= { remoteAccessUserAuthorityLevelEntry 12 }

    -- ************************************************************************************
    -- Group Profiles for LDAP Users                                     
    -- *************************************************************************************
    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-only
                            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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Group has no restrictions."
                    ::= { groupRBSroleEntry 3 }

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

      groupRBSNetworkSecurity  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    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-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Group can access the remote server console."
                    ::= { groupRBSroleEntry 7 }

      groupRBSRemoteConsoleRemoteDiskAccess  OBJECT-TYPE
                    SYNTAX  INTEGER {
                       disabled(0),
                       enabled(1)
                    }
                    ACCESS  read-only
                    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-only
                    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-only
                    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-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Group has no restrictions when configuring the adapter. In addition the 
                    user is said to have administrative access to the XCC, 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
    -- ---------------------------------------------------------- --
    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
        }

    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.
         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-only
        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."
        ::= { sshClientAuthPubKeyEntry 6 }

    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 }


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

     spClockDateAndTimeSetting OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Display XCC clock date and time setting, The format of the value is month/day/year, hour:minutes:seconds."   
                  ::= { spClock  1 }

     spClockTimezoneSetting OBJECT-TYPE
                  SYNTAX  OCTET STRING 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Display XCC 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
                        -If the GMT offset is +3:30, the value is:'+3:30,no'

                        -For Eastern Standard Time and observing DST, the value is:'-5:00,yes'

                        -For Turkey and observing DST, the value is:'+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    yes | 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)
                   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)
                                       '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..256))
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "XCC text ID."
                  ::= { spIdentification 1 }

     spRoomID     OBJECT-TYPE
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Room where the system is located."
                  ::= { spIdentification 2 }

     spRackID     OBJECT-TYPE
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "ID for Rack that contains this system."
                  ::= { spIdentification 3 }

     spRackUnitPosition     OBJECT-TYPE
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                  "Position within the rack for this system."
                  ::= { spIdentification 4 }

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

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

     spFullPostalAddress     OBJECT-TYPE
                  SYNTAX  DisplayString 
                  ACCESS  read-only
                  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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable the interface." 
                    ::= { ethernetInterface 2 }

       ethernetInterfaceHostName  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."
                    ::= { ethernetInterface 3 }
       
       ethernetInterfaceIPAddress   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IP address for the ethernet interface." 
                    ::= { ethernetInterface 4 }

       ethernetInterfaceAutoNegotiate  OBJECT-TYPE
	 	    SYNTAX  INTEGER {
		      enabled(0),
		      disabled(1)
                    }
                    ACCESS  read-only
                    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-only
                    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-only
                    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-only
                    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 XCC 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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable DHCP on this interface." 
                    ::= { ethernetInterface 9 }

       ethernetInterfaceGatewayIPAddress   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Maximum Transmission Unit(MTU) for the ethernet 
                    interface" 
                    ::= { ethernetInterface 12 }
                    
       ethernetInterfaceSubnetMask   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    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
       -- ********************************************************************************
       ethernetInterfaceVlan  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      enabled(0),
                      disabled(1)
                    }
                    ACCESS  read-only
                    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-only
                    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-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The current IPv6 enabled or disabled state of this XCC.

                     NOTE: If IPv6 address(es) have been configured for one or more
                     interfaces/protocols/services on this XCC, 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-only
                     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-only
                     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-only
                     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-only
                     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-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The DHCPv6 enabled or disabled state for the ethernet interface."
                     ::= { 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-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The IPv6 stateless auto-configuration enabled or disabled state for the ethernet interface."
                     ::= { 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
       -- ********************************************************************************
        vlansSM  OBJECT IDENTIFIER ::= { networkInterfaces 5 }
        
          vlansSMvlan1config  OBJECT IDENTIFIER ::= { vlansSM 1 }
                                                       
             vlansSMvlan1Name  OBJECT-TYPE
                     SYNTAX OCTET STRING
                     ACCESS read-only
                     STATUS mandatory
                     DESCRIPTION
                     "The name of VLAN1, 1-64 characters."
                     ::= {vlansSMvlan1config 1}

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

             vlansSMvlan1RemoteControl   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-only
                     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-only
                     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-only
                     STATUS mandatory
                     DESCRIPTION
                     "The name of VLAN1, 1-64 characters."
                     ::= {vlansSMvlan2config 1}

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

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

             vlansSMvlan2RemoteControl   OBJECT-TYPE
                     SYNTAX  INTEGER { disabled(0), 
                                       enabled(1) }
                     ACCESS  read-only
                     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-only
                     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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv4Config 1 }
             
             vlansSMvlan2IPv4Gateway   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Gateway IPv4 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv4Config 2 }
                    
             vlansSMvlan2IPv4SubnetMask   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv6Config 1 }
             
             vlansSMvlan2IPv6Gateway OBJECT-TYPE
                    SYNTAX  InetAddressIPv6 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Gateway IPv6 address for the VLAN2 interface." 
                    ::= { vlansSMvlan2ipv6Config 2 }
                    
             vlansSMvlan2IPv6PrefixLength   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv4 address for the first IPv4 static route." 
                    ::= { vlansSMvlan2ipv4StatusRoutes 1 }              

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

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

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

             vlansSMvlan2IPv4StaticRouteSM3   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the first IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 1 }             
           
             vlansSMvlan2IPv6StaticRoutePL1   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the Prefix Length for the first IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 2 }          

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

             vlansSMvlan2IPv6StaticRouteIP3   OBJECT-TYPE
                    SYNTAX  InetAddressIPv6
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the IPv6 address for the third IPv6 static route." 
                    ::= { vlansSMvlan2ipv6StatusRoutes 5 }             
           
             vlansSMvlan2IPv6StaticRoutePL3   OBJECT-TYPE
                    SYNTAX  INTEGER (1..128)
                    ACCESS  read-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the VLAN Config Revert Timeout value." 
                    ::= { vlansSMvlanControl 1 }
                                     
         
       ddnsStatus   OBJECT-TYPE
                    SYNTAX  INTEGER { disabled(0), enabled(1) }
                    ACCESS  read-only
                    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-only
                     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-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The domain name to be used with Dynamic DNS. "
                     ::= { networkInterfaces 12 }					 
					 
       domainName    OBJECT-TYPE
                     SYNTAX  OCTET STRING
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "The user assigned DNS domain name."
                     ::= { networkInterfaces 13 }

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

        xccUSBIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the IP address for the LAN over USB of XCC." 
                     ::= { lanOverUSBInterface 1 }
                     
        xccUSBSubnetMask   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     STATUS  mandatory
                     DESCRIPTION
                     "Contains the Subnet Mask for the LAN over USB of XCC." 
                     ::= { lanOverUSBInterface 2 }


        osUSBIPAddress   OBJECT-TYPE
                     SYNTAX  IpAddress 
                     ACCESS  read-only
                     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-only
                    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-only
                    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-only
                    STATUS  mandatory
                    DESCRIPTION
                    "A NULL terminated 48 byte string that contains the 
                    SNMP agent location name." 
                    ::= { snmpAgentConfig 3 }

       snmpSystemAgentTrapsDisable  OBJECT-TYPE
                    SYNTAX  INTEGER {
                      trapsDisabled(0),
                      trapsV1Enabled(1),
                      trapsV3Enabled(2),
                      trapsV1V3Enabled(3)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable SNMP V1 and V3 traps." 
                    ::= { snmpAgentConfig 4 }
                    
       -- ***********************************************************************
       -- SNMP Agent Community Configuration 
       -- ***********************************************************************
       snmpAgentCommunityConfig  OBJECT IDENTIFIER ::= { snmpAgentConfig 5 } 

        snmpCommunityEntryCommunityName  OBJECT-TYPE
                                  SYNTAX  DisplayString (SIZE(0..15))
                                  ACCESS  read-only
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community entry name."   
                                  ::= { snmpAgentCommunityConfig 1 }

        snmpCommunityEntryCommunityIpAddress  OBJECT-TYPE
                                  SYNTAX  OCTET STRING (SIZE(0..63))
                                  ACCESS  read-only
                                  STATUS  mandatory
                                  DESCRIPTION
                                  "SNMP Community IP address or host name."
                                  ::= { snmpAgentCommunityConfig 2 }

       -- ***********************************************************************
       -- SNMP v3 Agent Configuration 
       -- ***********************************************************************
	 snmpv3SystemAgentEnable  OBJECT-TYPE
                      		  SYNTAX  INTEGER {
                                  disabled(0),
                                  enabled(1)
                                  }
                      		  ACCESS  read-only
                      		  STATUS  mandatory
                      		  DESCRIPTION
                      	          "Disable or enable the SNMPv3 agent."
				  ::= { 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,
                       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),
                                    sha (3)
                                    }
                                    ACCESS  read-only
                                    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-only
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Privacy Protocol supported by the user."
                                    ::= { snmpUserProfileEntry 3 }

            snmpUserProfileEntryViewType   OBJECT-TYPE
                                    SYNTAX  INTEGER {
                                    get(1)
                                    }
                                    ACCESS  read-only
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - Access level (Get) of the user. "
                                    ::= { snmpUserProfileEntry 5 }
                                    
           snmpUserProfileEntryIpAddress  OBJECT-TYPE
                                    SYNTAX  OCTET STRING (SIZE(0..63))
                                    ACCESS  read-only
                                    STATUS  mandatory
                                    DESCRIPTION
                                    "SNMPv3 User Profile entry - IP address or host name."
                                    ::= { snmpUserProfileEntry 6 }

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

       dnsEnabled   OBJECT-TYPE
                    SYNTAX  INTEGER {
                      dnsDisabled(0),
                      dnsEnabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Disable or enable the DNS agent." 
                    ::= { dnsConfig 1 }
                    
       dnsServerIPAddress1   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the primary DNS server IP address."
                    ::= { dnsConfig 2 }
                    
       dnsServerIPAddress2   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the secondary DNS server IP address."
                    ::= { dnsConfig 3 }
                    
       dnsServerIPAddress3   OBJECT-TYPE
                    SYNTAX  IpAddress 
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Contains the tertiary DNS server IP address."
                    ::= { dnsConfig 4 }

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

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

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

         dnsPriority   OBJECT-TYPE
                      SYNTAX  INTEGER {
                        ipv6(1),
                        ipv4(2)
                      }
                      ACCESS  read-only
                      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 }

         dnsLXCADiscovery   OBJECT-TYPE
                      SYNTAX  INTEGER {
                        dnsLXCADiscoveryDisabled(0),
                        dnsLXCADiscoveryEnabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable or enable LXCA discovery using DNS SRV records."
                      ::= { dnsConfig 21 }

      -- ***********************************************************************
      -- SMTP Configuration 
      -- ***********************************************************************
      smtpConfig  OBJECT IDENTIFIER ::= { tcpProtocols 3 } 
      

       smtpServerNameOrIPAddress     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..64))
                    ACCESS  read-only
                    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 
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "SMTP server port number."
                      ::= { smtpConfig 2 } 
                      
        smtpServerAuthentication     OBJECT-TYPE
                    SYNTAX  INTEGER {
                    enabled(0),
                    disabled(1)
                    }
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "Enable/disable SMTP-AUTH function."
                    ::= { smtpConfig 3 }
                    
        smtpServerAuthenticationUser     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..256))
                    ACCESS  read-only
                    STATUS  mandatory
                    DESCRIPTION
                    "SMTP authentication user name"
                    ::= { smtpConfig 4 }

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

       smtpServerReversePath     OBJECT-TYPE
                    SYNTAX  OCTET STRING (SIZE(0..256))
                    ACCESS  read-only
                    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 
                    XCC default sender information. For example xcc@mycompany.com in place
                    of the default alertmgr@a.b.c.d." 
                    ::= { smtpConfig 7 }
                   
     -- ***********************************************************************
     -- Tcp Application Configuration 
     -- ***********************************************************************

        tcpApplicationConfig  OBJECT IDENTIFIER ::= { tcpProtocols 4 }

         slpAddrType  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        multicast(0),
                        broadcast(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get SLP address type. Note that when slpAddrType is broadast then the multicast address 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 
        -- ***********************************************************************

        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 XCC 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 XCC. Null Empty string if no RSA key exists."
                        ::= { sshServerConfig 2 }

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

        -- ***********************************************************************
        -- The SSL Configuration Group 
        -- ***********************************************************************

        sslConfig OBJECT IDENTIFIER ::= { tcpApplicationConfig 6 }
        
        sslEnableHTTPSforWeb  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status for web HTTPS service. 
                      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."
                      ::= { sslConfig 1 }

        sslEnableHTTPSforCIMXML  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status for CIM over HTTPS service."
                      ::= { sslConfig 2 }                      

        sslEnableSecureClientLDAP  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of the Secure LDAP Client."
                      ::= { sslConfig 3 }

        sslServerCertificate OBJECT IDENTIFIER ::= { sslConfig 4 }
                                          
        sslServerCertificateStatus  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 HTTPS certificate.
                         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. "
                        ::= { sslServerCertificate 1 }

        sslServerCertificateExpirationDate  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Expiration date of the installed HTTPS certificate."
                      ::= { sslServerCertificate 2 }
                      
        sslLDAPTrustedCertificate OBJECT IDENTIFIER ::= { sslConfig 5 }

        sslLDAPTrustedCertificate1Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the LDAP trusted certificate #1.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslLDAPTrustedCertificate 1 }

        sslLDAPTrustedCertificate1ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP trusted certificate #1 if it is installed."
                        ::= { sslLDAPTrustedCertificate 2 }
                      
        sslLDAPTrustedCertificate2Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the LDAP trusted certificate #2.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslLDAPTrustedCertificate 3 }

        sslLDAPTrustedCertificate2ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP trusted certificate #2 if it is installed.."
                        ::= { sslLDAPTrustedCertificate 4 }
                      
        sslLDAPTrustedCertificate3Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the LDAP trusted certificate #3.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslLDAPTrustedCertificate 5 }
                        
        sslLDAPTrustedCertificate3ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP trusted certificate #3 if it is installed."
                        ::= { sslLDAPTrustedCertificate 6 }
                      
                      
        sslLDAPTrustedCertificate4Status  OBJECT-TYPE
                        SYNTAX INTEGER {
                          not-installed(0),
                          installed(1)
                        }
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Get the status of the LDAP trusted certificate #4.
                         0 = certificate not installed
                         1 = certificate installed. "
                        ::= { sslLDAPTrustedCertificate 7 }                        


        sslLDAPTrustedCertificate4ExpirationDate  OBJECT-TYPE
                        SYNTAX  OCTET STRING (SIZE(0..63))
                        ACCESS  read-only
                        STATUS  mandatory
                        DESCRIPTION
                        "Expiration date of the LDAP trusted certificate #4 if it is installed."
                        ::= { sslLDAPTrustedCertificate 8 }
                                                                                                                                         
         
        -- ***********************************************************************
        -- Certificate Domain Names
        -- ***********************************************************************

        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 }
                                                                        
        -- ***********************************************************************
        -- Storage Key Repository Servers
        -- ***********************************************************************

        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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Storage Key Repository Server hostname or IP address."
                      ::= { skrServerEntry 2 }
             
             skrServerPort OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Storage Key Repository Server port number."
                      ::= { skrServerEntry 3 } 
         
             skrDeviceGroup  OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..17))
                      ACCESS  read-only
                      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 }
        
             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 }
                     
             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 } 
                        
         httpPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "SSL port number. Default value is 443. Once changed, the url's have to 
                      include :port at the end."
                      ::= { tcpPortAssignmentCfg 3 }
                   
         sshLegacyCLIPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "SSH port number. Default value is 22."
                      ::= { tcpPortAssignmentCfg 6 }
                   
         snmpAgentPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Agent port number. Default value is 161."
                      ::= { tcpPortAssignmentCfg 8 }
                   
         snmpTrapsPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "SNMP Traps port number. Default value is 162."
                      ::= { tcpPortAssignmentCfg 9 }
        
         remvidPortAssignment   OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Remote Console port number. Default value is 3900."
                      ::= { tcpPortAssignmentCfg 10 }

         cimOverHttpsPortAssignment OBJECT-TYPE
                      SYNTAX  INTEGER 
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "CIM over Https port number."
                      ::= { tcpPortAssignmentCfg 12 }
        
        
     -- ***********************************************************************
     -- LDAP Client Configuration
     -- ***********************************************************************
     
      ldapClientCfg    OBJECT IDENTIFIER ::= { tcpProtocols 6 } 
        
         ldapServer1NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 2 }
                   
         ldapServer2NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 4 }
                   
         ldapServer3NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 6 }
                   
         ldapServer4NameOrIPAddress     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..64))
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "LDAP server port number."
                      ::= { ldapClientCfg 8 }
                   
         ldapRootDN     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..300))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Distinguished Name for root entry of directory tree. 
                      An example might look like dn=foobar,dn=com."
                      ::= { ldapClientCfg 9 }

         ldapGroupFilter     OBJECT-TYPE
                      SYNTAX  OCTET STRING (SIZE(0..511))
                      ACCESS  read-only
                      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. XCC*). The default 
                      filter is XCC*. 
                      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-only
                      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..300))
                      ACCESS  read-only
                      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 }

	     ldapRoleBasedSecurityEnabled	      OBJECT-TYPE	
		              SYNTAX  INTEGER {
                        enabled(1),
		                disabled(0)
                      }
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "When administrator chooses Enhanced Role Based Security authentication model, 
                      he can associate  one XCC with one managed target object in Snap-in (one tool 
                      to configure LDAP users permission) via one target name. The XCC target name can 
                      be looked as alias of XCC, 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-only
                      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-only
                      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-only
                      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-only
                      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  --XCC-only
                      SYNTAX  INTEGER {
                        extractSearchDomainFromLoginID (0),
                        useOnlyConfiguredSearchDomainBelow (1),
                        tryLoginFirstThenConfiguredValue (2)
                      }
                      ACCESS  read-only
                      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   -- XCC-only, return Not Found
                      SYNTAX  OCTET STRING (SIZE(0..64))  
                      ACCESS  read-only
                      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   -- return Not Found
                      SYNTAX  INTEGER {
                        authenticationAndAuthorization(0),
                        authenticationOnly(1)
                      }
                      ACCESS  read-only
                      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-only
                      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 
                      SYNTAX  OCTET STRING (SIZE(0..16))  
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Disable/Enable the NTP client.  The client will update
                      the XCC system clock at the frequency specified."
                      ::= { ntpConfig 1 }

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

         ntpIpAddressHostname2  OBJECT-TYPE  --XCC-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Second NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 4 }
                                    
         ntpIpAddressHostname3  OBJECT-TYPE  --XCC-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Third NTP server's IP address or hostname if DNS is enabled
                      and configured."
                      ::= { ntpConfig 6 }
                                    
         ntpIpAddressHostname4  OBJECT-TYPE  --XCC-only
                      SYNTAX  OCTET STRING (SIZE(0..63))
                      ACCESS  read-only
                      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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "The frequency in minutes that the NTP service runs.
                      The value range is 3 to 1440."
                      ::= { ntpConfig 3 }
                      

        -- ********************************************************************************
        -- IPMI Configuration
        -- ********************************************************************************
        ipmiConfig  OBJECT IDENTIFIER ::= { tcpProtocols 10 }
        
         ipmiStatus    OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of IPMI service"
                      ::= { ipmiConfig 1 }					  


        -- ********************************************************************************
        --  CIM Configuration
        -- ********************************************************************************
        cimxmlConfig  OBJECT IDENTIFIER ::= { tcpProtocols 11 }

        cimxmlStatus  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of CIM service."
                      ::= { cimxmlConfig 1 }


        -- ********************************************************************************
        --  REST API Configuration
        -- ********************************************************************************
        restConfig  OBJECT IDENTIFIER ::= { tcpProtocols 12 }

        restStatus  OBJECT-TYPE
                      SYNTAX  INTEGER {
                        disabled(0),
                        enabled(1)
                      }
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "Get the status of the REST over HTTPS."
                      ::= { restConfig 1 }

                                
    -- ********************************************************************************
    -- Check XCC Version
    -- ********************************************************************************
    xccVersionCheck                      OBJECT-TYPE
                                SYNTAX INTEGER {
                                  xccVersion(1)
                                }
                                ACCESS  read-only
                                STATUS  mandatory
                                DESCRIPTION
                                "Get the XCC 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)
                   }
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Number, in 1 second intervals, the XCC 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-only
                   STATUS  mandatory
                   DESCRIPTION
                   "Number in 30 second intervals the remote XCC will wait
 	           between completion of POST and the end of loading the OS. 
 	           If this interval is exceeded, the XCC 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-only
                   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),
			systemInSetup(7),
			systemInLXPMMaintenanceMode(8),
			systemInMemoryTest(9)
                    }
                    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-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The number of 1 second interval the XCC will 
                   wait before powering off the system."
                   ::= { powerSysConfig 1 } 


     powerSysOnClockSetting OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                   "The clock setting used to determine when the XCC 
 	           will power on the system. 
 	
 	           For example the value '03/04/2001,06:00' means that the system will power on  
 	           March 4, 2001 at 06:00AM. "
                   ::= { powerSysConfig 2 } 
 
     
    -- ***********************************************************************
    -- Schedule Power Actions 
    -- ***********************************************************************
       powerCyclingSchedule  OBJECT IDENTIFIER ::= { systemPower 5 }
	
       schedulePowerOffWithOsShutdown  OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION	
           "Power Off the system after performing a OS shutdown at specified time and day of the week. 
            Example: Monday,09:00, To reset, the value as Never,00:00."
	 	   ::= { powerCyclingSchedule  1 }
	
       schedulePowerOnSystem OBJECT-TYPE
                   SYNTAX  OCTET STRING 
                   ACCESS  read-only
                   STATUS  mandatory 
                   DESCRIPTION	
		   "Power On the system at specified time and day of the week.
		    Example: Monday,09:00. To reset, the value as Never,00:00."
 		    ::= { powerCyclingSchedule  2 }
           

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

 autoCallHomeSetup   OBJECT IDENTIFIER ::= { serviceAdvisor 1 }

     acceptLicenseAgreement OBJECT-TYPE
         SYNTAX INTEGER {
             disabled(0),
             enabled(1)
         }
         ACCESS read-only
         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 XCC 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.

         It will return disabled(0) or enabled(1), depending upon the current state. "
         ::= {autoCallHomeSetup 1}

     serviceAdvisorEnable OBJECT-TYPE
         SYNTAX INTEGER {
             disabled(0),
             enabled(1)
         }
         ACCESS read-only
         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}

     lenovoSupportCenter OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-only
         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-only
         STATUS mandatory
         DESCRIPTION
         " The organization/company name of the contact person. 1-30 characters."
         ::= {contactInformation 1}

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

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

     emailAddress OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-only
         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-only
         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-only
         STATUS mandatory
         DESCRIPTION
         "The city of the machine location. 1-30 characters."
         ::= {contactInformation 6}

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

     postalCode OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-only
         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 
         SYNTAX OCTET STRING
         ACCESS read-only
         STATUS mandatory
         DESCRIPTION
         "The phone extension of the contact person. 30 characters maximum."
         ::= {contactInformation 9}

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

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

     altEmailAddress OBJECT-TYPE
         SYNTAX OCTET STRING
         ACCESS read-only
         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 
         SYNTAX OCTET STRING
         ACCESS read-only
         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-only
        STATUS mandatory
        DESCRIPTION
        "Disable/Enable of the HTTP Proxy. HTTP Proxy is used by the XCC when it is not connected to the internet directly."
        ::= {httpProxyConfig 1}

    httpProxyLocation OBJECT-TYPE
        SYNTAX OCTET STRING
        ACCESS read-only
        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-only
        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-only
        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-only
        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 XCC, 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-only
                  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)}
                      ACCESS  read-only
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the automated problem reporting mode. Automated problem reporting mode allows the XCC 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-only
                      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-only
                        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-only
                      STATUS  mandatory
                      DESCRIPTION
                      "This field specifies the user account to login remote FTP server."
                       ::= { autoFTPSetup 4 }

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

END               

