-- INTEL CONFIDENTIAL
-- Copyright 2006, 2007, 2008
-- Intel Corporation All Rights Reserved.
--
-- The source code contained or described herein and all documents related to
-- the source code ("Material") are owned by Intel Corporation or its
-- suppliers and licensors. Title to the Material remains with Intel
-- Corporation or its suppliers and licensors. The Material contains trade
-- secrets and proprietary and confidential information of Intel or its
-- suppliers and licensors. The Material is protected by worldwide copyright
-- and trade secret laws and treaty provisions. No part of the Material may be
-- used, copied, reproduced, modified, published, uploaded, posted,
-- transmitted, distributed, or disclosed in any way without Intel's prior
-- express written permission.
--
-- Unless otherwise expressly permitted by Intel in a separate license
-- agreement, use of the Material is subject to the copyright notices,
-- trademarks, warranty, use, and disclosure restrictions reflected on the
-- outside of the media, in the documents themselves, and in the "About" or
-- "Read Me" or similar file contained within this source code. Unless
-- otherwise expressly agreed by Intel in writing, you may not remove
-- or alter such notices in any way.
--

    INTELCORPORATION-MULTI-FLEX-SERVER-BLADES-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32,
            OBJECT-IDENTITY
                FROM SNMPv2-SMI

            OBJECT-GROUP
                FROM SNMPv2-CONF

            DisplayString, MacAddress
                FROM SNMPv2-TC

            regModule, groups
                FROM INTELCORPORATION-MULTI-FLEX-SERVER-REG

            Index, PowerLedStates, FaultLedStates, PresenceLedStates,
            Presence, Power, INT32withException, IdromBinary16
                FROM INTELCORPORATION-MULTI-FLEX-SERVER-TC

            chassis
                FROM INTELCORPORATION-MULTI-FLEX-SERVER-MIB;


            multiFlexServerBladesMibModule MODULE-IDENTITY
                LAST-UPDATED "200805192028Z"        -- Mon May 19 13:28:30 PDT 2008
                ORGANIZATION
                    "Intel Corporation"
                CONTACT-INFO
                    "Brian Kurle
                    Intel Corporation
                    JF5-2-C3
                    Tel: 503-712-5032
                    E-Mail: brianx.j.kurle@intel.com"
                DESCRIPTION
                    "Blade Module of the Multi-Flex Server"
                REVISION "200805192028Z"        -- Mon May 19 13:28:30 PDT 2008
                DESCRIPTION
                    "Added bladeBootCount column to bladeTable"
                REVISION "200805070240Z"        -- May 6, 2008 at 19:40 PDT
                DESCRIPTION
                    "Added additional documentation to blade's power led;
                    also made settable to overload it as a means of
                    controlling the blade's power"
                REVISION "200709191540Z"        -- September 19, 2007 at 15:40 GMT
                DESCRIPTION
                    "Renamed smbiosHandle to just handle to remove confusion"
                REVISION "200708310930Z"        -- August 31, 2007 at 09:30 GMT
                DESCRIPTION
                    "Added bladeMemoryTable"
                REVISION "200708291930Z"        -- August 29, 2007 at 19:30 GMT
                DESCRIPTION
                    "Reworked CPU table so that the SMBIOS handle is now
                    the key, rather than the name of the CPU slot.   This
                    same handle will be used for other SMBIOS related
                    tables later (e.g., DIMMs)."
                REVISION "200708291430Z"        -- August 29, 2007 at 14:30 GMT
                DESCRIPTION
                    "Added bladeNicTable
                    Moved bladeProcessorTable & bladeMemorySummaryTable."
                REVISION "200708271600Z"        -- August 27, 2007 at 16:00 GMT
                DESCRIPTION
                    "Added more information about the individual blades
                     bladeTable:
                        bladeConsoleRedirection
                        bladeLegacyOsRedirection
                    "
                REVISION "200708221545Z"        -- August 22, 2007 at 15:45 GMT
                DESCRIPTION
                    "Added more information about the individual blades:
                    to bladeMSNumFailed account for failed DIMMs rather
                    than failed memory size"
                REVISION "200708201530Z"        -- August 20, 2007 at 15:30 GMT
                DESCRIPTION
                    "Added bladeMemorySummaryTable"
                REVISION "200708161330Z"        -- August 16, 2007 at 13:30 GMT
                DESCRIPTION
                    "Reordered Revision to reverse chronological as some
                    browsers choke, cleaned up some other simple nit-picky
                    errors"
                REVISION "200707271530Z"        -- July 27, 2007 at 15:30 GMT
                DESCRIPTION
                    "Added Processor table providing information 
                    as described by the SMBIOS from the blades"
                REVISION "200707091230Z"        -- July 09, 2007 at 12:30 GMT
                DESCRIPTION
                    "Dropped Most of the SMBIOS data for feature complete.
                    Will be added back in as time allots
                    
                    Dropped fruIndex and replaced it with fruType as they
                    are identical, moved fruPresence to second column to be
                    consistent with other tables
                    
                    Dropped bladeFruFirmwareVersion"
                REVISION "200707051600Z"        -- July 05, 2007 at 16:00 GMT
                DESCRIPTION
                    "Dropped DAS support (on board drives)
                     Dropped S-State information.
                     Dropped Information about the SAS Controller/option ROM"
                REVISION "200705211400Z"        -- May 21, 2007 at 14:00 GMT
                DESCRIPTION
                    "Changed out the INTEGERs to INT32withException in
                    static tables to be able to display enumerations when
                    exceptions occur.
                    
                    Moved the Presence to the first column passed the index
                    to be consistent with the other tables"
                REVISION "200705211400Z"        -- May 21, 2007 at 14:00 GMT
                DESCRIPTION
                    "Added enumerations to bladeTable numerics to flag
                    unknown and notApplicable states to differentiate from
                    actual values
                    
                    Also Added a blade presence column to bladeTable.
                    Originally, this was to be included solely within the
                    bladeFruTable, but it just rubbed wrong."
                REVISION "200704091030Z"        -- April 09, 2007 at 10:30 GMT
                DESCRIPTION
                    "Renamed bladeBmcVersion to bladeBmcFirmwareVersion to
                    be consistent in naming with other subsystems"
                REVISION "200703141100Z"        -- March 14, 2007 at 11:00 GMT
                DESCRIPTION
                    "Dropped bmcMacTable"
                REVISION "200703131800Z"        -- March 13, 2007 at 18:00 GMT
                DESCRIPTION
                    "Moved FirmwareBundleId from chassis to CMM Tree.
                    cmmTable data now complies with IDROM (DID/DSD)
                    information.
                    Added cmmPowerLedStates, cmmFaultLedStates, &
                    cmmPresenceLedStates to cmmTable.
                    Renamed fruTable to bladeFruTable (to avoid conflicts
                    in other MIBs)
                    Added ebfFirmwareVersion.
                    Added cmmFirmwareVersion.
                    Added maxLocalDrives, numOfLocalDrives, &
                    bladeLocalDrivePresenceMask to the bladeFruTable
                    Moved cpuSState to the bladeTable (as sState)
                    Added mState (albiet as a token for the moment) to the
                    bladeTable

                    Renumbered / reorganized accordingly"
                REVISION "200703061030Z"        -- March 06, 2007 at 10:30 GMT
                DESCRIPTION
                    "Changed Mask representations from an Opaque to a
                    DisplayString at the request of the architects such
                    that it now is an ASCII representation of bit string
                    reflecting the presence with the left most 'bit' being
                    bit 1 and max* bits being represented.

                    Due to the new nomenclature, new columns were added to
                    match the masks changed within the FRU table

                    Removed the sasIdTable

                    Everything has been renumbered and resequenced"
                REVISION "200702221700Z"        -- February 22, 2007 at 17:00 GMT
                DESCRIPTION
                    "Renamed MIB file and updated internal relevance to
                    formal product name Multi-Flex Server"
                REVISION "200611070701Z"        -- November 07, 2006 at 07:01 GMT
                DESCRIPTION
                    "Consolidated use of Presence datatype and changed 'theChassis' to 'chassis'"
                REVISION "200610011800Z"        -- October 01, 2006 at 02:00 PST
                DESCRIPTION
                    "Partitioned off and created as it's own module"
                ::= { regModule 12 }


-- ----------------------------------------------------------------------------
--
-- Blades group.
--
-- This group contains information about blades.
--
-- ----------------------------------------------------------------------------

        maxBlades OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Maximum number of Blades possible in this chassis."
            ::= { chassis 12 }

        numOfBlades OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of Blades in the system."
            ::= { chassis 22 }

        bladePresenceMask OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "ASCII representation of bit string reflecting the presence
                of the blades with the left most 'bit' being bit 1 and
                maxBlades bits being represented.

                Thus, '010011' would express that blades 2, 5, & 6 (of six
                blades) are present"
            ::= { chassis 32 }

--
-- blades tree
--

        blades OBJECT-IDENTITY
            STATUS current
            DESCRIPTION
                "Container for Blade specific information as well as all
                components logically contained within."
            ::= { chassis 202 }

--
-- The blade table is the primary entity for the blades.   It contains 1 blade
-- per row for chassisMaxBlades rows (regardless of presence).   Thus, any
-- possible blade can be queried for presence.
--
-- Other tables exist which are doubly indexed with bladeSlotId being
-- one of the where the Table is nested (one blade to many subcomponents).
-- The following [sub]tables are associated with the blades table:
--  fruTable
--  dimmTable
--  cpuTable
--

        bladeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes a Blade in the chassis.

                Note, all blade rows possible for a chassis are present so
                that the presence field is accessible even when the blade is
                not."
            ::= { blades 1 }

        bladeEntry OBJECT-TYPE
            SYNTAX BladeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Individual blade entry"
            INDEX { bladeSlotId }
            ::= { bladeTable 1 }

        BladeEntry ::= SEQUENCE {

                bladeSlotId                         Index,
                bladePresence                       Presence,
                maxFrus                             INT32withException,
                numOfFrus                           INT32withException,
                bladePowerLed                       PowerLedStates,
                bladeFaultLed                       FaultLedStates,
                bladePresenceLed                    PresenceLedStates,
                bladeFruPresenceMask                DisplayString,
                bladeBmcFirmwareVersion             DisplayString,
                bladeBootBlockVersion               DisplayString,
                bladeBiosVersion                    DisplayString,
                bladeConsoleRedirection             INTEGER,
                bladeLegacyOsRedirection            INTEGER,
                bladeBootCount                      Unsigned32

             }

--
-- (Blades) Attributes (fairly static)
--

        bladeSlotId OBJECT-TYPE
            SYNTAX Index
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Slot number which the blade current occupies
                 (or would occupy)."
            ::= { bladeEntry 1 }

        bladePresence OBJECT-TYPE
            SYNTAX Presence
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "column used to flag the existence of a particular FRU"
            ::= { bladeEntry 2 }

        maxFrus OBJECT-TYPE
            SYNTAX INT32withException
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Given a board, the Maximum number of FRUs for this board.
                This parameter is related to the bladeFruPresenceMask as it
                defines the number of FRUs to be represented (whether they
                are present or not)"
            ::= { bladeEntry 3 }

        numOfFrus OBJECT-TYPE
            SYNTAX INT32withException
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number FRUs present on the board"
            ::= { bladeEntry 4 }

        bladeFruPresenceMask OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "ASCII representation of bit string reflecting the presence
                of the FRUs with the left most 'bit' being bit 1 and
                maxFrus bits being represented.

                bit 1 - blade, itself
                bit 2 - mez card

                Thus, '10' would express that the blade is present, but
                does not have a Mez card

                When indeterminate, the string will be empty"
            ::= { bladeEntry 5 }

        bladePowerLed OBJECT-TYPE
            SYNTAX PowerLedStates
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "State of the Power LED on the Blade (and optionally power
                control blade)"
            ::= { bladeEntry 6 }

        bladeFaultLed OBJECT-TYPE
            SYNTAX FaultLedStates
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "State of the Fault LED on the Blade"
            ::= { bladeEntry 7 }

        bladePresenceLed OBJECT-TYPE
            SYNTAX PresenceLedStates
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "State of the Presence LED on the Blade (and optionally
                intiate identification)"
            ::= { bladeEntry 8 }

        bladeBmcFirmwareVersion OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Textual BMC Version of this blade."
            ::= { bladeEntry 9 }

        bladeBootBlockVersion OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Textual Boot Block Version of this blade."
            ::= { bladeEntry 10 }

        bladeBiosVersion OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Textual BIOS Version of this blade."
            ::= { bladeEntry 11 }

        bladeConsoleRedirection OBJECT-TYPE
            SYNTAX INTEGER {
                notApplicable(-32),
                unknown(-16),
                disabled(0),
                networkSerialPort(1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Console redirection configuration within BIOS"
            ::= { bladeEntry 12 }

        bladeLegacyOsRedirection OBJECT-TYPE
            SYNTAX INTEGER {
                notApplicable(-32),
                unknown(-16),
                noLegacyOsRedirection(0),
                legacyOsRedirection(1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Legacy OS Redirection configuration within BIOS"
            ::= { bladeEntry 13 }

        bladeBootCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of times the blade has booted (since manufactured
                or NVRAM cleared)
                
                Will be 0 if unknown (e.g., blade hasn't been powered on
                at least once since insertion, blade not present, etc.)."
            ::= { bladeEntry 14 }



-- FRU table is a nested table within the Blade table.   That is a blade
-- may have multiple FRU entries.  The first entry is the blade itself,
-- with additional entries being subfrus.
--
-- Presently, the only subfru is the Mez card
--
-- 1 - the blade
-- 2 - the mez card
--
-- The FRU table takes two indices, the first being the bladeSlotId from
-- the Blade Table (associated the FRU with a specific blade).
-- The second index is the subfru, itself.
--

        bladeFruTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeFruEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes a FRU associated with (and including)
                a Blade in the chassis

                There will always be 2 FRU entries for every blade (with
                the presence field marking whether marking whether the rest
                of the row is relevant).

                Thus, the presence can be queried of all FRUs regardless of
                their being present."
            ::= { blades 2 }

        bladeFruEntry OBJECT-TYPE
            SYNTAX BladeFruEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "blade & SubFRU common information."
            INDEX { bladeSlotId, bladeFruType }
            ::= { bladeFruTable 1 }

        BladeFruEntry ::=
            SEQUENCE {

                bladeFruType                        INTEGER,
                bladeFruPresence                    Presence,
                bladeFruVendor                      DisplayString,
                bladeFruMfgDate                     DisplayString,
                bladeFruDeviceName                  DisplayString,
                bladeFruPart                        IdromBinary16,
                bladeFruSerialNo                    IdromBinary16,
                bladeFruMaximumPower                Power,
                bladeFruNominalPower                Power,
                bladeFruAssetTag                    IdromBinary16

             }

        bladeFruType OBJECT-TYPE
            SYNTAX INTEGER 
                {
                blade(1),
                mezzanine(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "column used to identify a particular FRU.
                FRU 1 is the blade, itself, FRU 2 is the mezzanine card"
            ::= { bladeFruEntry 1 }

        bladeFruPresence OBJECT-TYPE
            SYNTAX Presence
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "column used to flag the existence of a particular FRU"
            ::= { bladeFruEntry 2 }

--
-- IDROM Info for the FRU
--

        bladeFruVendor OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Device manufacturer"
            ::= { bladeFruEntry 3 }

        bladeFruMfgDate OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Manufacture date/time"
            ::= { bladeFruEntry 4 }

        bladeFruDeviceName OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Device Name"
            ::= { bladeFruEntry 5 }

        bladeFruPart OBJECT-TYPE
            SYNTAX IdromBinary16
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Device Part Number"
            ::= { bladeFruEntry 6 }

        bladeFruSerialNo OBJECT-TYPE
            SYNTAX IdromBinary16
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Device Serial Number"
            ::= { bladeFruEntry 7 }

        bladeFruMaximumPower OBJECT-TYPE
            SYNTAX Power
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Static maximum power generation / consumption (in watts):

                <0      - Negative numbers indicate device consumes power (in watts)
                >0      - Positive numbers indicate device generates power (in watts)
                0       - Device is passive (does not not consume or generate power)
                0xffff  - Maximum power generation/consumption not known or specified"
            ::= { bladeFruEntry 8 }

        bladeFruNominalPower OBJECT-TYPE
            SYNTAX Power
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Static Nominal power generation / consumption (in watts):

                <0      - Negative numbers indicate device consumes power (in watts)
                >0      - Positive numbers indicate device generates power (in watts)
                0       - Device is passive (does not not consume or generate power)
                0xffff  - Nominal power generation/consumption not known or specified"
            ::= { bladeFruEntry 9 }

        bladeFruAssetTag OBJECT-TYPE
            SYNTAX IdromBinary16
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Asset Tag # of device"
            ::= { bladeFruEntry 10 }

-- 
-- end of IDROM info
--

        bladeNicTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeNicEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes a NIC associated with a blade from the
                system memory as described by the blades SMBIOS entries.

                For future compatibility, this table is sparsely populate
                based on the presence of the blade, and the availability of
                the SMBIOS from the blade (e.g., a blade may be present,
                but if it never has powered on, or there is a
                communications error to the BMC, it may not be displayed)"
            ::= { blades 3 }

        bladeNicEntry OBJECT-TYPE
            SYNTAX BladeNicEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Overall NIC information per blade information"
            INDEX { bladeSlotId, bladeNic }
            ::= { bladeNicTable 1 }

        BladeNicEntry ::=
            SEQUENCE {

                bladeNic                    MacAddress

             }

        bladeNic OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "NIC associated with blade (both onboard and optional
                Mezzanine card) as found within the SMBIOS data for the
                blade"
            ::= { bladeNicEntry 1 }


        bladeProcessorTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeProcessorEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes a Processor associated with a Blade in
                the chassis as described by the blades SMBIOS entries.

                As there are multiple Processors available per blade, there
                are two indices associated with this table.  One for the
                blade, the other for the Processor in question.

                Although the blade is associated by slot within the chassis
                and is easily made a numeric value, the processor is less
                reliable.  Although initial boards return via the BIOS the
                form 'CPU#', this is not required by the SMBIOS
                specification (it could be J2341).  Thus, the SMBIOS handle
                associated with the processor is used so that cross
                referencing is more straight forward (e.g., when listing L
                caches associated with processors).

                For future compatibility, this table is sparsely populate
                based on the presence of the blade, and the availability of
                the SMBIOS from the blade (e.g., a blade may be present,
                but if it never has powered on, or there is a
                communications error to the BMC, it may not be displayed)"
            ::= { blades 4 }

        bladeProcessorEntry OBJECT-TYPE
            SYNTAX BladeProcessorEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Processor(s) per blade information"
            INDEX { bladeSlotId, handle }
            ::= { bladeProcessorTable 1 }

        BladeProcessorEntry ::=
            SEQUENCE {

                handle                        Index,
                bladeProcessorSocket                DisplayString,
                bladeProcessorPresence              Presence,
                bladeProcessorType                  DisplayString,
                bladeProcessorFamily                DisplayString,
                bladeProcessorManufacturer          DisplayString,
                bladeProcessorID                    DisplayString,
                bladeProcessorVersion               DisplayString,
                bladeProcessorVoltage               DisplayString,
                bladeProcessorExtClock              Unsigned32,
                bladeProcessorMaxSpeed              Unsigned32,
                bladeProcessorStatus                DisplayString,
                bladeProcessorUpgrade               DisplayString,
                bladeProcessorSerialNo              DisplayString,
                bladeProcessorAssetTag              DisplayString,
                bladeProcessorPartNo                DisplayString

             }

        handle OBJECT-TYPE
            SYNTAX Index
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Unique handle within the SMBIOS table for a specific blade
                which lays out the assorted record types."
            ::= { bladeProcessorEntry 1 }

        bladeProcessorSocket OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String returned by SMBIOS designating the socket location
                of the CPU for the indexed blade.   
                
                The string is returned by the BIOS and is arbitrary as
                determined by the vendor.  Thus it could be J202, or CPU2.
                Regardless, it will be unqiue in it's designation for a
                blade."
            ::= { bladeProcessorEntry 2 }

        bladeProcessorPresence OBJECT-TYPE
            SYNTAX Presence
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "column used to flag the existence of a particular CPU"
            ::= { bladeProcessorEntry 3 }

        bladeProcessorType OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string representing type of Processor in this slot"
            ::= { bladeProcessorEntry 4 }

        bladeProcessorFamily OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String representing SMBIOS data for the processor family type"
            ::= { bladeProcessorEntry 5 }

        bladeProcessorManufacturer OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String representing SMBIOS data for the Manufacturer of the Processor"
            ::= { bladeProcessorEntry 6 }

        bladeProcessorID OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string containing the Processor ID field which
                contains processor-specific information that describes the
                processor's features."
            ::= { bladeProcessorEntry 7 }

        bladeProcessorVersion OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String representing SMBIOS data describing the Processor"
            ::= { bladeProcessorEntry 8 }

        bladeProcessorVoltage OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string representing the voltage(s) the processor is
                capable of"
            ::= { bladeProcessorEntry 9 }

        bladeProcessorExtClock OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS value of the External Clock Frequency, in MHZ.  If
                the value is unknown, the field is set to 0"
            ::= { bladeProcessorEntry 10 }

        bladeProcessorMaxSpeed OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS value of the Maximum processor speed (in MHz)
                supported by the system for this processor socket. If the
                value is unknown, the field is set to 0.

                Note:  This field identifies a capability for the system,
                not the processor itself."
            ::= { bladeProcessorEntry 11 }

        bladeProcessorStatus OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String representing SMBIOS data describing CPU status
                information"
            ::= { bladeProcessorEntry 12 }

        bladeProcessorUpgrade OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String representing SMBIOS data describing the CPU
                'Upgrade' or how the processor is located on the blade"
            ::= { bladeProcessorEntry 13 }

        bladeProcessorSerialNo OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string of the serial number of this processor.
                This value is set by the manufactureer and normally not
                changeable."
            ::= { bladeProcessorEntry 14 }

        bladeProcessorAssetTag OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string of the asset tag of this processor."
            ::= { bladeProcessorEntry 15 }

        bladeProcessorPartNo OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "SMBIOS string of the part number of this processor.
                This value is set by the manufactureer and normally not
                changeable."
            ::= { bladeProcessorEntry 16 }


        bladeMemorySummaryTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeMemorySummaryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes the overall summary of the memory
                configuration for a given blade in the chassis as described
                by the blades SMBIOS entries.

                For future compatibility, this table is sparsely populate
                based on the presence of the blade, and the availability of
                the SMBIOS from the blade (e.g., a blade may be present,
                but if it never has powered on, or there is a
                communications error to the BMC, it may not be displayed)"
            ::= { blades 5 }

        bladeMemorySummaryEntry OBJECT-TYPE
            SYNTAX BladeMemorySummaryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Overall memory configuration summary per  blade information"
            AUGMENTS { bladeEntry  }
            ::= { bladeMemorySummaryTable 1 }

        BladeMemorySummaryEntry ::=
            SEQUENCE {

                bladeMSMaxDevices           Integer32,
                bladeMSNumOfDevices         Integer32, 
                bladeMSCapacity             Unsigned32,
                bladeMSTotalSize            Unsigned32,
                bladeMSEffectiveSize        Unsigned32,
                bladeMSNumFailed            Unsigned32, 
                bladeMSDisabledSize         Unsigned32, 
                bladeMSSpareSize            Unsigned32, 
                bladeMSRasPossible          INTEGER,    
                bladeMSRasConfiguration     INTEGER,
                bladeMSErrorCorrection      INTEGER

             }

        bladeMSMaxDevices OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of slots or sockets available for Memory
                Devices on the board."
            ::= { bladeMemorySummaryEntry 1 }

        bladeMSNumOfDevices OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of slots or sockets populated with Memory
                Devices on the board."
            ::= { bladeMemorySummaryEntry 2 }

        bladeMSCapacity OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximum memory capacity in MB for this array."
            ::= { bladeMemorySummaryEntry 3 }

        bladeMSTotalSize OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total size in MB of all memory physically installed"
            ::= { bladeMemorySummaryEntry 4 }

        bladeMSEffectiveSize OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Memory available after deducting for failed and redundant
                memory units"
            ::= { bladeMemorySummaryEntry 5 }

        bladeMSNumFailed OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total Number of failed memory devices"
            ::= { bladeMemorySummaryEntry 6 }

        bladeMSDisabledSize OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total size in MB of all disabled memory"
            ::= { bladeMemorySummaryEntry 7 }

        bladeMSSpareSize OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total size in MB of all spare memory (see
                bladeMSRasPossible & bladeMSRasConfiguration columns)"
            ::= { bladeMemorySummaryEntry 8 }

        bladeMSRasPossible OBJECT-TYPE
            SYNTAX INTEGER {
                notSupported(0),
                supportsMirroring(1),
                supportsSparing(2),
                supportsBoth(3)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "RAS Configuration Possible"
            ::= { bladeMemorySummaryEntry 9 }

        bladeMSRasConfiguration OBJECT-TYPE
            SYNTAX INTEGER {
                none(0),
                mirroring(1),
                sparing(2)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "RAS Configuration Possible"
            ::= { bladeMemorySummaryEntry 10 }

        bladeMSErrorCorrection OBJECT-TYPE
            SYNTAX INTEGER {
                other(1),
                unknown(2),
                none(3),
                parity(4),
                singleBitEcc(5),
                multiBitEcc(6),
                crc(7)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The primary hardware error correction or detection
                method supported"
            ::= { bladeMemorySummaryEntry 11 }


        bladeMemoryTable OBJECT-TYPE
            SYNTAX SEQUENCE OF BladeMemoryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each row describes an individual memory device for system
                memory given a specific blade in the chassis as described
                by the blades SMBIOS entries.

                For future compatibility, this table is sparsely populate
                based on the presence of the blade, and the availability of
                the SMBIOS from the blade (e.g., a blade may be present,
                but if it never has powered on, or there is a
                communications error to the BMC, it may not be displayed)"
            ::= { blades 6 }

        bladeMemoryEntry OBJECT-TYPE
            SYNTAX BladeMemoryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Overall memory device per blade information"
            INDEX { bladeSlotId, handle }
            ::= { bladeMemoryTable 1 }

        BladeMemoryEntry ::=
            SEQUENCE {

                bladeMemTotalWidth          INTEGER,
                bladeMemDataWidth           INTEGER,
                bladeMemSize                INTEGER,
                bladeMemGranularity         INTEGER,
                bladeMemFormFactor          INTEGER,
                bladeMemDeviceSet           INTEGER,
                bladeMemLocation            DisplayString,
                bladeMemBank                DisplayString,
                bladeMemType                INTEGER,
                bladeMemTypeDetail          BITS,
                bladeMemSpeed               INTEGER,
                bladeMemManufacturer        DisplayString,
                bladeMemSerialNo            DisplayString,
                bladeMemAssetTag            DisplayString,
                bladeMemPart                DisplayString

             }

         bladeMemTotalWidth OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(-1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total width, in bits, of this memory device, including
                any check or error-correction bits.  If there are no
                error-correction bits, this value should be equal to
                bladeMemDataWidth.  If the width is unknown, the field is
                set to -1."
            ::= { bladeMemoryEntry 1 }

         bladeMemDataWidth OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(-1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The data width, in bits, of this memory device.  If 0 and
                bladeMemTotalWidth is 8 indicates that the device is being
                used solely to provide 8 error-correction bits.  If the
                width is unknown, the field is set to -1."
            ::= { bladeMemoryEntry 2 }

         bladeMemSize OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(-1),
                notInstalled(0) -- shouldn't occur as it is sparsely populated
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The size of the memory device.  If the value is 0, no
                memory device is installed in the socket (shouldn't occur
                as the table is sparsely populated); if the size is
                unknown, the field value is -1."
            ::= { bladeMemoryEntry 3 }

        bladeMemGranularity OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(-1),
                megabytes(0),
                kilobytes(1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The granularity of the bladeMemSize"
            ::= { bladeMemoryEntry 4 }

        bladeMemFormFactor OBJECT-TYPE
            SYNTAX INTEGER {
                other(1),
                unknown(2),
                simm(3),
                sip(4),
                chip(5),
                dip(6),
                zip(7),
                proprietaryCard(8),
                dimm(9),
                tsop(10),
                rowOfChips(11),
                rimm(12),
                sodimm(13),
                srimm(14),
                fbdimm(15)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The implementation form factor for this memory device."
            ::= { bladeMemoryEntry 5 }

        bladeMemDeviceSet OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(-1),
                noSet(0)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Identifies when the Memory Device is one of a set of
                Memory Devices that must be populated with all devices of
                the same type and size and the set to which this device
                belongs.  A value of 0 indicates that the device is not
                part of a set; a value of -1 indicates that the attribute
                is unknown."
            ::= { bladeMemoryEntry 6 }

        bladeMemLocation OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String that identifies the physically labeled socket or
                board position where the memory device is located"
            ::= { bladeMemoryEntry 7 }

        bladeMemBank OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "String that identifies the physically labeled bank where
                where the memory device is located"
            ::= { bladeMemoryEntry 8 }

        bladeMemType OBJECT-TYPE
            SYNTAX INTEGER {
                other(1),
                unknown(2),
                dram(3),
                edram(4),
                vram(5),
                sram(6),
                ram(7),
                rom(8),
                flash(9),
                eeprom(10),
                feprom(11),
                eprom(12),
                cdram(13),
                dram3(14),
                sdram(15),
                sgram(16),
                rdram(17),
                ddr(18),
                ddr2(19),
                ddr2fbdimm(20)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The type of memory used in this device"
            ::= { bladeMemoryEntry 9 }

        bladeMemTypeDetail OBJECT-TYPE
            SYNTAX BITS {
                reserved(0),
                other(1),
                unknown(2),
                fastPaged(3),
                staticColumn(4),
                pseudoStatic(5),
                rambus(6),
                synchronous(7),
                cmos(8),
                edo(9),
                windowDram(10),
                cacheDram(11),
                nonVolatile(12)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The type of memory used in this device"
            ::= { bladeMemoryEntry 10 }

        bladeMemSpeed OBJECT-TYPE
            SYNTAX INTEGER {
                unknown(0)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Identifies the speed of the device in megahertz (MHz)."
            ::= { bladeMemoryEntry 11 }

        bladeMemManufacturer OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Manufacturer of this memory device"
            ::= { bladeMemoryEntry 12 }

        bladeMemSerialNo OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Serial Number of this memory device"
            ::= { bladeMemoryEntry 13 }

        bladeMemAssetTag OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Asset Tag of this memory device"
            ::= { bladeMemoryEntry 14 }

        bladeMemPart OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Part Number of this memory device"
            ::= { bladeMemoryEntry 15 }


        bladeGroup OBJECT-GROUP
            OBJECTS {

                    maxBlades,
                    numOfBlades,
                    bladePresenceMask,

                    bladeSlotId,
                    maxFrus,
                    numOfFrus,
                    bladePresence,
                    bladePowerLed,
                    bladeFaultLed,
                    bladePresenceLed,
                    bladeFruPresenceMask,
                    bladeBmcFirmwareVersion,
                    bladeBootBlockVersion,
                    bladeBiosVersion,
                    bladeConsoleRedirection,
                    bladeLegacyOsRedirection,
                    bladeBootCount,

                    bladeFruType,
                    bladeFruPresence,
                    bladeFruVendor,
                    bladeFruMfgDate,
                    bladeFruDeviceName,
                    bladeFruPart,
                    bladeFruSerialNo,
                    bladeFruMaximumPower,
                    bladeFruNominalPower,
                    bladeFruAssetTag,

                    bladeNic,

                    bladeProcessorSocket,
                    bladeProcessorPresence,
                    bladeProcessorType,
                    bladeProcessorFamily,
                    bladeProcessorManufacturer,
                    bladeProcessorID,
                    bladeProcessorVersion,
                    bladeProcessorVoltage,
                    bladeProcessorExtClock,
                    bladeProcessorMaxSpeed,
                    bladeProcessorStatus,
                    bladeProcessorUpgrade,
                    bladeProcessorSerialNo,
                    bladeProcessorAssetTag,
                    bladeProcessorPartNo,

                    bladeMSMaxDevices,
                    bladeMSNumOfDevices,
                    bladeMSCapacity,
                    bladeMSErrorCorrection,
                    bladeMSTotalSize,
                    bladeMSNumFailed,
                    bladeMSDisabledSize,
                    bladeMSSpareSize,
                    bladeMSEffectiveSize,
                    bladeMSRasPossible,
                    bladeMSRasConfiguration,

                    bladeMemTotalWidth,
                    bladeMemDataWidth,
                    bladeMemSize,
                    bladeMemGranularity,
                    bladeMemFormFactor,
                    bladeMemDeviceSet,
                    bladeMemLocation,
                    bladeMemBank,
                    bladeMemType,
                    bladeMemTypeDetail,
                    bladeMemSpeed,
                    bladeMemManufacturer,
                    bladeMemSerialNo,
                    bladeMemAssetTag,
                    bladeMemPart

                 }
            STATUS current
            DESCRIPTION
                "Description."
            ::= { groups 12 }

    END

--  vim:ts=4:ai:nohls:nowrap:expandtab
