SWRAID-MIB DEFINITIONS ::= BEGIN

--
-- Derived from the original VEST-INTERNETT-MIB. Open issues:
--
-- (a) where to register this MIB?
--


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    ucdExperimental
        FROM UCD-SNMP-MIB;

swRaidMIB MODULE-IDENTITY
    LAST-UPDATED "200709291800Z"
    ORGANIZATION "gkminix"
    CONTACT-INFO    
        "Primary Contact: Gero Kuhlmann
         email:     gero@gkminix.han.de"
    DESCRIPTION
        "This MIB module defines objects for Linux software RAID monitoring."
    REVISION     "200709291800Z"
    DESCRIPTION
        "Derived from DISKIO-MIB ex UCD."
    ::= { ucdExperimental 18 }


--
-- Textual Conventions
--

RaidStatusTC ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
        "Status of RAID device

         inactive(1) indicates that the RAID device is inactive
         active(2)   indicates that the RAID device is working
         faulty(3)   indicates that the RAID device is working but faulty"
    SYNTAX INTEGER {
         inactive(1),
         active(2),
         faulty(3)
    }


--
-- Software RAID device table
--

swRaidTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF swRaidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of software RAID devices."
    ::= { swRaidMIB 1 }

swRaidEntry OBJECT-TYPE
    SYNTAX      SWRaidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing a RAID device."
    INDEX       { swRaidIndex }
    ::= { swRaidTable 1 }

SWRaidEntry ::= SEQUENCE {
    swRaidIndex        Integer32,
    swRaidDevice       DisplayString,
    swRaidPersonality  DisplayString,
    swRaidUnits        DisplayString,
    swRaidUnitCount    Integer32,
    swRaidStatus       RaidStatusTC
}

swRaidIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reference index for each observed device."
    ::= { swRaidEntry 1 }

swRaidDevice OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the RAID device."
    ::= { swRaidEntry 2 }

swRaidPersonality OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The personality of this RAID device."
    ::= { swRaidEntry 3 }

swRaidUnits OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The names of all RAID units."
    ::= { swRaidEntry 4 }

swRaidUnitCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of units within this RAID device."
    ::= { swRaidEntry 5 }

swRaidStatus OBJECT-TYPE
    SYNTAX      RaidStatusTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of this RAID device."
    ::= { swRaidEntry 6 }


swRaidErrorFlag OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A error flag to indicate trouble with any RAID device."
    ::= { swRaidMIB 100 }

swRaidErrMessage OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An error message describing the problem."
    ::= { swRaidMIB 101 }

END
