Dell-Vendor-MIB DEFINITIONS ::= BEGIN

IMPORTS
        enterprises, TimeTicks
                FROM RFC1155-SMI
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32, IpAddress,
        NOTIFICATION-TYPE
                FROM SNMPv2-SMI
        DisplayString, RowStatus, TEXTUAL-CONVENTION
                FROM SNMPv2-TC;

-- Dell MIB tree
dell OBJECT IDENTIFIER ::= { enterprises 674 }
-- Dell PowerConnect MIB tree
dellLan OBJECT IDENTIFIER ::= { dell 10895 }
-- Dell standard MIB tree for all future PowerConnect product. There
-- are already some earlier objects registered under 10895 so that it
-- is necessary to carve out this subtree under dellLan.5000 in order
-- to prevent conflict with existing MIB objects.
dellLanStandard OBJECT IDENTIFIER ::= { dellLan 5000 }
-- Dell common and device independent MIB objects.
dellLanCommon OBJECT IDENTIFIER ::= { dellLanStandard 1 }
-- Dell extension MIB objects for specific technology or device.
dellLanExtension OBJECT IDENTIFIER ::= { dellLanStandard 2 }

powerConnectVendorMIB MODULE-IDENTITY
        LAST-UPDATED "200501150000Z"
        ORGANIZATION "Dell Inc."
        CONTACT-INFO
                "support.dell.com"
        DESCRIPTION
                "The private MIB module definition for the Dell PowerConnect
                 Devices.  This MIB allows PowerConnect devices to be
                 integrated into Dell ITA management system."
        ::= { dellLan 3000 }

EnvMonState ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Represents the state of a device being monitored.
                 Valid values are:

                 normal(1):         the environment is good, such as low
                                    temperature.

                 warning(2):        the environment is bad, such as temperature
                                    above normal operation range but not too
                                    high.

                 critical(3):       the environment is very bad, such as
                                    temperature much higher than normal
                                    operation limit.

                 shutdown(4):       the environment is the worst, the system
                                    should be shutdown immediately.

                 notPresent(5):     the environmental monitor is not present,
                                    such as temperature sensors do not exist.

                 notFunctioning(6): the environmental monitor does not
                                    function properly, such as a temperature
                                    sensor generates a abnormal data like
                                    1000 C.
                "
        SYNTAX  INTEGER {
                        normal(1),
                        warning(2),
                        critical(3),
                        shutdown(4),
                        notPresent(5),
                        notFunctioning(6)
                }



dellVendorMIBObjects       OBJECT IDENTIFIER ::= { powerConnectVendorMIB 1 }
dellVendorNotifications     OBJECT IDENTIFIER ::= { powerConnectVendorMIB 2 }


hardware              OBJECT IDENTIFIER ::= { dellVendorMIBObjects 2 }
productIdentification OBJECT IDENTIFIER ::= { hardware 100 }
productStatus         OBJECT IDENTIFIER ::= { hardware 110 }

--

--
-- productIdentification
--


productIdentificationDisplayName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Name of this product for display purposes."
       ::= { productIdentification 1}


productIdentificationDescription OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "A short description of this product such as: Ethernet Router Switch."
       ::= { productIdentification 2}


productIdentificationVendor OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The name of the product manufacturer, such as: Dell Inc."
       ::= { productIdentification 3 }

productIdentificationVersion OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The version of this product."
       ::= { productIdentification  4 }

productIdentificationBuildNumber OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The software build number of the product."
       ::= { productIdentification 5 }



productIdentificationURL  OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The URL of the web-based application to manage this device, should the device provide one.
                    The format of the value held by this object is: http://<device IP address>."
       ::= { productIdentification 6 }

productIdentificationDeviceNetworkName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Device Name."
       ::= { productIdentification 7 }


productIdentificationPerUnitTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ProductIdentificationPerBoxEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
        "Identification specific to product instance and, in case of stackable products, per unit. If the product is not stackable,
         it will be considered a stack of one unit and therefore this table will contain one conceptual row only."
     ::= { productIdentification 8 }

productIdentificationPerUnitEntry OBJECT-TYPE
   SYNTAX ProductIdentificationPerBoxEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
        "This row applies to a unit in a stackable product. "
   INDEX { productIdentificationPerBoxIndex }
     ::= { productIdentificationPerUnitTable 1 }



ProductIdentificationPerBoxEntry ::= SEQUENCE {

  productIdentificationPerBoxIndex          INTEGER,
  productIdentificationSerialNumber         DisplayString,
  productIdentificationAssetTag             DisplayString,
  productIdentificationServiceTag           DisplayString,
  productIdentificationBootromVersion       DisplayString
}

productIdentificationPerBoxIndex OBJECT-TYPE
       SYNTAX      INTEGER (1..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The index of the stack unit to which this conceptual row corresponds.
                    Note that the index will be the same index as the index
                    of a 'chassis' physical entity in the entity MIB of the product."
       ::= { productIdentificationPerUnitEntry 1 }


productIdentificationSerialNumber OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Serial number of the product."
       ::= { productIdentificationPerUnitEntry 2 }

productIdentificationAssetTag OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Asset tag of the product."
       ::= { productIdentificationPerUnitEntry 3 }

productIdentificationServiceTag OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Service tag of the product."
       ::= { productIdentificationPerUnitEntry 4 }


productIdentificationBootromVersion OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The boot image version of the product."
       ::= { productIdentificationPerUnitEntry 6 }


productIdentificationBannerMotd OBJECT-TYPE
       SYNTAX      DisplayString (SIZE (0..1500))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION "Use to assign CLI attention banner. The banner should support 1500 characters."







       ::= { productIdentification 9 }

productIdentificationBannerMotdAckMode OBJECT-TYPE
       SYNTAX     INTEGER {
                    enable(1),
                    disable(2)
                 }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION "If enable is selected, user will be required to acknowledge the banner displayed on the console. The user would have to type y or n to continue to the login prompt.  If n is typed, the session is terminated and no further communication is allowed on that session. However, serial connection will not get terminated if user does not enter y. Use disable option to disable banner acknowledge."
       ::= { productIdentification 10 }

--
-- productStatus
--

productStatusGlobalStatus  OBJECT-TYPE
       SYNTAX      INTEGER {
            ok(3),
            non-critical(4),
            critical(5)
       }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Current status of the product.This is a rollup for the entire product.
                    The status is intended to give initiative to a snmp monitor to get further data when this status is abnormal.
                    This variable can take the following values:
                    3: OK
                       If fans and power supplies are functioning and the system did not reboot because of a HW watchdog failure
                       or a SW fatal error condition.
                    4: Non-critical
                       If at least one power supply is not functional or the system rebooted at least once because of a HW watchdog failure
                       or a SW fatal error condition.
                    5: Critical
                       If at least one fan is not functional, possibly causing a dangerous warming up of the device."
       ::= { productStatus 1 }

productStatusLastGlobalStatus OBJECT-TYPE
       SYNTAX      INTEGER {
            ok(3),
            non-critical(4),
            critical(5)
       }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The status before the current status which induced an initiative to issue a global status change trap."
       ::= { productStatus 2 }

productStatusTimeStamp  OBJECT-TYPE
       SYNTAX      TimeTicks
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "The last time that the product global status has been updated.
                    The time will be given in TimeTicks"
       ::= { productStatus 3 }

productStatusGetTimeOut  OBJECT-TYPE
       SYNTAX      INTEGER(1..1000)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Suggested time out value in milliseconds for how long the SNMP getter
                    should wait while attempting to poll the product SNMP service."
       ::= { productStatus 4 }

productStatusRefreshRate  OBJECT-TYPE
       SYNTAX      INTEGER(1..100)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Rate in seconds at which the SNMP service cached data is being updated."
       ::= { productStatus 5 }

productStatusGeneratingTrapsFlag OBJECT-TYPE
       SYNTAX      INTEGER { true(1),
                             false(2),
                             disabled(3)
                            }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION "Indicates if this SNMP service is generating SNMP Traps.
                    This variable can take the following values:
                         1: true     - The device is capable and currently configured to generate traps if necessary.
                         2: false    - The device is not capable of generating traps.
                         3: disabled - The device is capable but not configured to generate traps.
                   "
       ::= { productStatus 6 }

productStatusEnvironment OBJECT IDENTIFIER ::= { productStatus  7}

envMonFanStatusTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF EnvMonFanStatusEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The table of fan status maintained by the environmental
                monitor. Not Supported by Dell Modular Blade Server switches."
        ::= { productStatusEnvironment 1 }

envMonFanStatusEntry OBJECT-TYPE
        SYNTAX     EnvMonFanStatusEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the fan status table, representing the status of
                the associated fan maintained by the environmental monitor. 
                Not Supported by Dell Modular Blade Server switches."
        INDEX   { envMonFanStatusIndex }
        ::= { envMonFanStatusTable 1 }

EnvMonFanStatusEntry ::=
        SEQUENCE {
                envMonFanStatusIndex       INTEGER,
                envMonFanStatusDescr       DisplayString,
                envMonFanState             EnvMonState
        }

envMonFanStatusIndex OBJECT-TYPE
        SYNTAX     INTEGER (1..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Unique index for the fan being instrumented. This index is 
                for SNMP purposes only, and has no intrinsic meaning. Not 
                Supported by Dell Modular Blade Server switches."
        ::= { envMonFanStatusEntry 1 }

envMonFanStatusDescr OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (0..32))
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "Textual description of the fan being instrumented.
                This description is a short textual label, suitable 
                as a human-sensible identification for the rest of 
                the information in the entry. Not Supported by Dell 
                Modular Blade Server switches."
        ::= { envMonFanStatusEntry 2 }

envMonFanState OBJECT-TYPE
        SYNTAX     EnvMonState
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "The mandatory  state of the fan being instrumented. 
                Not Supported by Dell Modular Blade Server switches."
        ::= { envMonFanStatusEntry 3 }



envMonSupplyStatusTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF EnvMonSupplyStatusEntry
        MAX-ACCESS not-accessible

        STATUS     current
        DESCRIPTION
                "The table of power supply status maintained by the
                environmental monitor card."
        ::= { productStatusEnvironment 2 }

envMonSupplyStatusEntry OBJECT-TYPE
        SYNTAX     EnvMonSupplyStatusEntry
        MAX-ACCESS not-accessible

        STATUS     current
        DESCRIPTION
                "An entry in the power supply status table, representing the
                status of the associated power supply maintained by the
                environmental monitor card."
        INDEX   { envMonSupplyStatusIndex }
        ::= { envMonSupplyStatusTable 1  }

EnvMonSupplyStatusEntry ::=
        SEQUENCE {
                envMonSupplyStatusIndex    INTEGER ,
                envMonSupplyStatusDescr    DisplayString,
                envMonSupplyState          EnvMonState,
                envMonSupplySource         INTEGER
        }

envMonSupplyStatusIndex OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "Unique index for the power supply being instrumented.
                This index is for SNMP purposes only, and has no
                intrinsic meaning."
        ::= { envMonSupplyStatusEntry 1 }

envMonSupplyStatusDescr OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (0..32))
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "Textual description of the power supply being instrumented.
                This description is a short textual label, suitable as a
                human-sensible identification for the rest of the
                information in the entry."
        ::= { envMonSupplyStatusEntry 2 }

envMonSupplyState OBJECT-TYPE
        SYNTAX     EnvMonState
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "The mandatory  state of the power supply being instrumented."
        ::= { envMonSupplyStatusEntry 3 }

envMonSupplySource OBJECT-TYPE
        SYNTAX INTEGER {
                        unknown(1),
                        ac(2),
                        dc(3),
                        externalPowerSupply(4),
                        internalRedundant(5)
                }
        MAX-ACCESS read-only

        STATUS     current
        DESCRIPTION
                "The power supply source.
                 unknown - Power supply source unknown
                 ac      - AC power supply
                 dc      - DC power supply
                 externalPowerSupply - External power supply
                 internalRedundant - Internal redundant power supply
                "
        ::= { envMonSupplyStatusEntry 4 }




--
-- trap definitions
--


    dellVendorTraps  OBJECT IDENTIFIER ::= { dellVendorNotifications  1 }
    dellVendorTrapsPrefix OBJECT IDENTIFIER ::= { dellVendorTraps 0 }

    productStatusGlobalStatusChange NOTIFICATION-TYPE

        OBJECTS     { productStatusGlobalStatus,
                      productStatusLastGlobalStatus,
                      productStatusTimeStamp }
        STATUS      current
        DESCRIPTION "This trap is sent when the product global status changes."
        --#TYPE "Product Global Status Change."
        --#SUMMARY "The product global status has changed from %d to %d at time %d."
        --#ARGUMENTS {1,0,2}


   ::= {dellVendorTrapsPrefix 1 }


END
