--  =======================================================================
--  File        : oaInventory.mib
--  Description : Private MIB for all MRV Devices
--  By          : Alex Rozin, Maoz Yona, Yakov Vaisman, Ilan Weber.
--  Version     : 1.00
--  Date        : January 15, 2009
--  Supports information about device Inventory parameters.
--  =======================================================================

-- Copyright (c) 2006 MRV.  All Rights Reserved.
--
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This MRV SNMP MIB Specification
-- embodies MRV's proprietary intellectual property.  MRV
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is MRV's intent to encourage the widespread use of this
-- specification in connection with the management of MRV's
-- products. MRV grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of MRV's products.
--
-- This specification is supplied "AS IS," and MRV makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- Copyright text courtesy of MRV
--
-- If you have any questions about this MIB, please call MRV
-- Technical Support Center at 1-800-858-7815 from inside USA or
-- 1-818-773-0900 from outside USA.
--
--
-- MRV retains the right to change this MIB without notification.

DEV-INVENTORY-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    enterprises, Integer32                       FROM SNMPv2-SMI  -- RFC2578
    MODULE-COMPLIANCE, OBJECT-GROUP              FROM SNMPv2-CONF -- RFC2580
    DisplayString, TEXTUAL-CONVENTION            FROM SNMPv2-TC;  -- RFC2579

nbInvId  MODULE-IDENTITY
    LAST-UPDATED "200901150000Z"  -- Jan 15, 2009
    ORGANIZATION "MRV Communications, Inc."
    CONTACT-INFO
        "Alex Rozin
         MRV Communication, Inc
         http://www.mrv.com
         Email:  ARozin@mrv.com

         Maoz Yona
         MRV Communication, Inc
         http://www.mrv.com
         Email:  myona@mrv.com

         Yakov Vaisman
         MRV Communication, Inc
         http://www.mrv.com
         Email:  yvaisman@mrv.com

         Ilan Weber
         MRV Communication, Inc
         http://www.mrv.com
         Email:  iweber@mrv.com
        "
    DESCRIPTION
        "Supports information about device identifiaction."

    -- Revision history

    REVISION "200901150000Z"  -- Jan 15, 2009
    DESCRIPTION
        "Initial edition."
    ::= { nbSwitchG1Il 19 }

    -- Textual Conventions

    InvIndexType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
        "Parameter type which consist the unique index table."
        SYNTAX INTEGER 
            {
             shelf   (1),
             slot    (2),
             entity  (3),
             port    (4),
             cpuSlot (5),
             fanSlot (6),
             psSlot  (7)
            }

-- ************************************************************
-- MIB place Definition
-- ************************************************************

nbase                  OBJECT IDENTIFIER ::= { enterprises 629 }
nbSwitchG1             OBJECT IDENTIFIER ::= { nbase 1 }
nbSwitchG1Il           OBJECT IDENTIFIER ::= { nbSwitchG1 50}

nbInvGenInfo           OBJECT IDENTIFIER ::= { nbInvId 1 }

nbInvDevIndexInfo      OBJECT IDENTIFIER ::= { nbInvGenInfo 1 }
nbInvDevDetails        OBJECT IDENTIFIER ::= { nbInvGenInfo 2 }

nbInvShelfInfo         OBJECT IDENTIFIER ::= { nbInvDevDetails 1 }
nbInvSlotInfo          OBJECT IDENTIFIER ::= { nbInvDevDetails 2 }
nbInvPortInfo          OBJECT IDENTIFIER ::= { nbInvDevDetails 4 }
nbInvCpuInfo           OBJECT IDENTIFIER ::= { nbInvDevDetails 5 }
nbInvFanInfo           OBJECT IDENTIFIER ::= { nbInvDevDetails 6 }
nbInvPsInfo            OBJECT IDENTIFIER ::= { nbInvDevDetails 7 }

nbInvConformance       OBJECT IDENTIFIER ::= { nbInvId 101 }

-- ************************************************************
-- Textual conventions
-- ************************************************************

nbInvIndexesMaxNumber         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Maximum Number of entries in the [nbInvIndexesTable]."
    ::= { nbInvDevIndexInfo 1 }

nbInvIndexesTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvIndexesEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "Global table to summarize device indexing information.
     The Table lists the current Indexing components that
     comprise the device.
     The Table must include the only Indexing components
     that are relevant for the Device."
    ::= { nbInvDevIndexInfo 5 }

nbInvIndexesEntry                OBJECT-TYPE
    SYNTAX       NbInvIndexesEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvIndexId }

    ::= { nbInvIndexesTable 1 }

NbInvIndexesEntry ::= SEQUENCE
            {
             nbInvIndexId        Integer32,
             nbInvIndexType      InvIndexType,
             nbInvIndexVal       Integer32,
             nbInvIndexDesc      DisplayString,
             nbInvParentIndexId  Integer32,
             nbInvOffsetVal      Integer32
            }

nbInvIndexId              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base index of Inventory Index entry."
    ::= { nbInvIndexesEntry 1 }

nbInvIndexType              OBJECT-TYPE
    SYNTAX       InvIndexType
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Type of component in Table, see 'InvIndexType'. "
    ::= { nbInvIndexesEntry 2 }

nbInvIndexVal              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "This value represents the Maxixmum number of current
     Indexing components that can be included into the
     Upper layer Component.
     Value 0 means that such component is not relevant."
    ::= { nbInvIndexesEntry 3 }

nbInvIndexDesc               OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Textual description of Inventory Indexing component."
    ::= { nbInvIndexesEntry 4 }

nbInvParentIndexId           OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The value represents the [nbInvIndexId] value of
     upper Index in the Indexes hierarchy.
     Value 0 will mean the last Index in the hierarchy."
    ::= { nbInvIndexesEntry 5 }

nbInvOffsetVal               OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The value represents the shift number before first
     entry of such Index will start.
     For example, for the Port Index of the LambdaDriver Devices
     this value will be equal to 100."
    ::= { nbInvIndexesEntry 6 }

-- ************************************************************
-- INVENTORY MIB : Shelfs Information
-- ************************************************************

nbInvShelfIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     Normaly, value is 1 for shelfs, since there is no
     upper layer above Shelfs in our configurations."
    ::= { nbInvShelfInfo 1 }

nbInvShelfIndexId         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'shelf' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvShelfInfo 2 }

-- ************************************************************
-- SHELF : Shelfs Table
-- ************************************************************

nbInvShelfTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvShelfEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays Hw / Sw related information
     of each Shelf in the system."
    ::= { nbInvShelfInfo 5 }

nbInvShelfEntry        OBJECT-TYPE
    SYNTAX       NbInvShelfEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvShelfIndex}

    ::= { nbInvShelfTable 1 }

NbInvShelfEntry ::= SEQUENCE
            {
             nbInvShelfIndex                  Integer32,
             nbInvShelfHwVer                  Integer32,
             nbInvShelfHwSerialUnit           DisplayString,
             nbInvShelfHwBackPlaneSN          DisplayString,
             nbInvShelfHwCpuNumber            Integer32,
             nbInvShelfHwFanNumber            Integer32,
             nbInvShelfHwPSNumber             Integer32,
             nbInvShelfSwRev                  DisplayString,
             nbInvShelfSwBuildTime            DisplayString
            }

nbInvShelfIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base table index ."
    ::= { nbInvShelfEntry 1 }

nbInvShelfHwVer                 OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Shelf Hardware version."
    ::= { nbInvShelfEntry 2 }

nbInvShelfHwSerialUnit              OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Shelf serial number."
    ::= { nbInvShelfEntry 3 }

nbInvShelfHwBackPlaneSN              OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Shelf BackPlane's serial number."
    ::= { nbInvShelfEntry 4 }

nbInvShelfHwCpuNumber              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Number of CPUs in shelf."
    ::= { nbInvShelfEntry 6 }

nbInvShelfHwFanNumber              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Number of Fans installed in shelf."
    ::= { nbInvShelfEntry 7 }

nbInvShelfHwPSNumber              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Number of Power Supplies installed in shelf."
    ::= { nbInvShelfEntry 8 }

nbInvShelfSwRev              OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Shelf Software version description, for example: '1_0_6'.."
    ::= { nbInvShelfEntry 9 }

nbInvShelfSwBuildTime              OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Shelf Software version Build time,
         for example: Tue Jun 14 23:03:09 IDT 2005.."
    ::= { nbInvShelfEntry 10 }

-- ************************************************************
-- INVENTORY MIB : Slots Information
-- ************************************************************

nbInvSlotIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     For example, if the index is built of Shelfs
     and Slots then the number is 2."
    ::= { nbInvSlotInfo 1 }

nbInvSlotIndexId              OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'slot' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvSlotInfo 2 }

-- ************************************************************
-- SLOT : Slots Table
-- ************************************************************

nbInvSlotTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvSlotEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays HW related information
     of each slot in the system."
    ::= { nbInvSlotInfo 5 }

nbInvSlotEntry        OBJECT-TYPE
    SYNTAX       NbInvSlotEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvSlotIndex }

    ::= { nbInvSlotTable 1 }

NbInvSlotEntry ::= SEQUENCE
            {
             nbInvSlotIndex            Integer32,
             nbInvSlotHardwareVer      Integer32,
             nbInvSlotHwSerialUnit     DisplayString,
             nbInvSlotHwPartNumber     DisplayString,
             nbInvSlotSwFpgaRevision   DisplayString
            }

nbInvSlotIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base index to Identify the slot index."
    ::= { nbInvSlotEntry 1 }

nbInvSlotHardwareVer       OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Slot Hardware Version."
    ::= { nbInvSlotEntry 2 }

nbInvSlotHwSerialUnit       OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Serial Number of the module in Slot."
    ::= { nbInvSlotEntry 3 }

nbInvSlotHwPartNumber       OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Part Number of the module in the Slot."
    ::= { nbInvSlotEntry 4 }

nbInvSlotSwFpgaRevision       OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "FPGA Software version."
    ::= { nbInvSlotEntry 5 }
								
-- ************************************************************
-- INVENTORY MIB : Ports Information
-- ************************************************************

nbInvPortIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     For example, if the index is built of Shelfs, Ports and Slots
     then the number is 3."
    ::= { nbInvPortInfo 1 }

nbInvPortIndexId         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'port' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvPortInfo 2 }

-- ************************************************************
-- PORT : Ports Table
-- ************************************************************

nbInvPortTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays ports inventory related information."
    ::= { nbInvPortInfo 5 }

nbInvPortEntry        OBJECT-TYPE
    SYNTAX       NbInvPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvPortIndex }

    ::= { nbInvPortTable 1 }

NbInvPortEntry ::= SEQUENCE
            {
             nbInvPortIndex           Integer32,
             nbInvPortIdentifier      INTEGER,
             nbInvPortConnector       INTEGER,
             nbInvPortVendorName      DisplayString,
             nbInvPortVendorOUI       DisplayString,
             nbInvPortVendorPN        DisplayString,
             nbInvPortVendorRev       DisplayString,
             nbInvPortVendorSN        DisplayString,
             nbInvPortVendorDate      DisplayString,
             nbInvPortVendorLotCode   DisplayString,
             nbInvPortAlias           DisplayString,
             nbInvPortWavelength      Integer32
            }

nbInvPortIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base port index."
    ::= { nbInvPortEntry 1 }

nbInvPortIdentifier              OBJECT-TYPE
    SYNTAX       INTEGER
    {
     unknown(1),
     combo(2),
     gbic(3),
     fixed(4),
     sfp(5),
     xbi300pin(6),
     xenpak(7),
     xfp(8),
     xff(9),
     xfpE(10),
     xpak(11),
     x2(12),
     dsfp(13)
    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The type of the serial transceiver:
     unknown - Unknown or unspecified
     combo - including 2 connectors simultaneously
             [for example: RJ45 and SFP-based]
     gbic - GBIC
     fixed - Module/connector soldered to motherboard
     sfp - SFP transceiver
     xbi300pin - 300 pin XBI
     xenpak - XENPAK transceiver
     xfp - XFP transceiver
     xff - XFF transceiver
     xfpE - XFP-E transceiver
     xpak - XPAK transceiver
     x2 - X2 transceiver
     dsfp - DWDM SFP transceiver"
    ::= { nbInvPortEntry 2 }

nbInvPortConnector             OBJECT-TYPE
    SYNTAX    INTEGER
    {
     unknown(1),
     other(2),
     sc(3),
     fcs1cc(4),
     fcs2cc(5),
     bnctnc(6),
     fcch(7),
     fiberJack(8),
     lc(9),
     mtrj(10),
     mu(11),
     sg(12),
     opticalPigtail(13),
     hssdcii(34),
     copperPigtail(35)
    }
    MAX-ACCESS   read-only
    STATUS    current
    DESCRIPTION
    "The Physical Connector Type of the transceiver:
     unknown - Unknown or unspecified
     other - Vendor specific
     sc - SC
     fcs1cc - Fibre Channel Style 1 copper connector
     fcs2cc - Fibre Channel Style 2 copper connector
     bnctnc - BNC/TNC
     fcch - Fibre Channel coaxial headers
     fiberJack - Fiber Jack
     lc   - LC
     mtrj - MT-RJ
     mu - MU
     sg - SG
     opticalPigtail - Optical Pigtail
     hssdcii - HSSDC II
     copperPigtail - Copper Pigtail [for example: RJ45]"
    ::= { nbInvPortEntry 3 }

nbInvPortVendorName              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Name which is the full name of the corporation, 
     a commonly accepted abbreviation of the name of the corporation, 
     the SCSI company code for the corporation, or the stock exchange code
     for the corporation."
    ::= { nbInvPortEntry 4 }

nbInvPortVendorOUI              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(3))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Oganizationally Unique Identifier field (vendor OUI)
     that contains the IEEE company identifier for the vendor. A value of
     all zero in the 3 octet field indicates that the vendor OUI is
     unspecified"
    ::= { nbInvPortEntry 5 }

nbInvPortVendorPN              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Part Number (Vendor PN) or product name if the
     Vendor PN is unspecified, the null string will be returned"
    ::= { nbInvPortEntry 6 }

nbInvPortVendorRev              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(0..4))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Transceiver product Revision number (Vendor Rev) if the
     Vendor Rev is unspecified, the null string will be returned"
    ::= { nbInvPortEntry 7 }

nbInvPortVendorSN              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Serial Number (Vendor SN) if the Vendor SN is
     unspecified, the null string will be returned"
    ::= { nbInvPortEntry 8 }

nbInvPortVendorDate              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(0..16))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor's Date. Formated: YY MM DD "
    ::= { nbInvPortEntry 9 }

nbInvPortVendorLotCode              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(2))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The SFP Vendor Specific Lot Code. A null value indicates that
     the lot code is unspecified."
    ::= { nbInvPortEntry 10 }

nbInvPortAlias              OBJECT-TYPE
    SYNTAX       DisplayString	(SIZE(2))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "The Port Description.
     Same as strings concatenation of [ifDescr] and [ifAlias]."
    ::= { nbInvPortEntry 11 }

nbInvPortWavelength         OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 Nano Meter(nm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Port Laser Wavelength at room temperature.
        Units: 0.01 Nano Meter(nm)"
     ::= { nbInvPortEntry 12 }

-- ************************************************************
-- INVENTORY MIB : CPUs Information
-- ************************************************************

nbInvCpuIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     For example, if the index is built of Shelfs
     and cpuSlots then the number is 2."
    ::= { nbInvCpuInfo 1 }

nbInvCpuIndexId               OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'cpuSlot' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvCpuInfo 2 }

-- ************************************************************
-- CPU : CPUs Table
-- ************************************************************

nbInvCpuTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvCpuEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays information regarding
     the installed CPUs in each shelf."
    ::= { nbInvCpuInfo 5 }

nbInvCpuEntry                OBJECT-TYPE
    SYNTAX       NbInvCpuEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvCpuIndex }

    ::= { nbInvCpuTable 1 }

NbInvCpuEntry ::= SEQUENCE
            {
             nbInvCpuIndex      Integer32,
             nbInvCpuSerial     DisplayString,
             nbInvCpuDescr      DisplayString
            }

nbInvCpuIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base index of CPU entry."
    ::= { nbInvCpuEntry 1 }

nbInvCpuSerial              OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "CPU serial number."
    ::= { nbInvCpuEntry 4 }

nbInvCpuDescr               OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "CPU description, for example:
     'MPC8245, 266MHz with 64MB flash and 128MB Dram memory'."
    ::= { nbInvCpuEntry 9 }

-- ************************************************************
-- INVENTORY MIB : Fans Information
-- ************************************************************

nbInvFanIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     For example, if the index is built of Shelfs
     and fanSlots then the number is 2."
    ::= { nbInvFanInfo 1 }

nbInvFanIndexId         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'fanSlot' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvFanInfo 2 }

-- ************************************************************
-- FAN : Fans Table
-- ************************************************************

nbInvFanTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvFanEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays information regarding
     the installed Fans in each shelf."
    ::= { nbInvFanInfo 5 }

nbInvFanEntry                OBJECT-TYPE
    SYNTAX       NbInvFanEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvFanIndex }

    ::= { nbInvFanTable 1 }

NbInvFanEntry ::= SEQUENCE
            {
             nbInvFanIndex      Integer32,
             nbInvFanDescr      DisplayString
            }

nbInvFanIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base index of the Fan."
    ::= { nbInvFanEntry 1 }

nbInvFanDescr               OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Fan description, free text for a better
     identification of the installed Fan."
    ::= { nbInvFanEntry 2 }

-- ************************************************************
-- INVENTORY MIB : PS Information
-- ************************************************************

nbInvPsIndexTableNum         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Number of current entries in the Indexes hierarchy.
     For example, if the index is built of Shelfs
     and psSlots then the number is 2."
    ::= { nbInvPsInfo 1 }

nbInvPsIndexId         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Means [nbInvIndexId] value of the 'fanSlot' Entry in
     the [nbInvIndexesTable] Table."
    ::= { nbInvPsInfo 2 }

-- ************************************************************
-- PS : PSs Table
-- ************************************************************

nbInvPsTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbInvPsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "This table displays information regarding
     the installed Power Supplies in each shelf."
    ::= { nbInvPsInfo 5 }

nbInvPsEntry                OBJECT-TYPE
    SYNTAX       NbInvPsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbInvPsIndex }

    ::= { nbInvPsTable 1 }

NbInvPsEntry ::= SEQUENCE
            {
             nbInvPsIndex            Integer32,
             nbInvPsType             INTEGER,
             nbInvPsSerialNumber     DisplayString,
             nbInvPsPartNumber       DisplayString,
             nbInvPsDescr            DisplayString
            }

nbInvPsIndex              OBJECT-TYPE
    SYNTAX       Integer32 (1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "1-base index of Power Supply."
    ::= { nbInvPsEntry 1 }

nbInvPsType              OBJECT-TYPE
    SYNTAX       INTEGER
    {
     none     (1),
     dcType   (2),
     acType   (3)
    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Type of Power Supply."
    ::= { nbInvPsEntry 2 }

nbInvPsSerialNumber       OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Power Supply serial number."
    ::= { nbInvPsEntry 3 }

nbInvPsPartNumber          OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Power Supply Part Number (maximum 15 characters)."
    ::= { nbInvPsEntry 4 }

nbInvPsDescr               OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
    "Power Supply description, free text for
     a better identification of the Power Supply."
    ::= { nbInvPsEntry 5 }

-- *******************************************************************
--  Inventory Conformance Information 
-- ******************************************************************* 
 
nbInvMIBCompliances      OBJECT IDENTIFIER ::= { nbInvConformance 1 }
nbInvMIBGroups           OBJECT IDENTIFIER ::= { nbInvConformance 2 }

nbInvMIBCompliance MODULE-COMPLIANCE
    STATUS current 
    DESCRIPTION 
    "The compliance statement for 'nbInv' MIB implementations."
    MODULE -- this module 
     
        MANDATORY-GROUPS { 
                          nbInvIndexGroup,
                          nbInvShelfGroup,
                          nbInvSlotGroup,
                          nbInvPortGroup,
                          nbInvCPUGroup,
                          nbInvFanGroup,
                          nbInvPSGroup
                         }
    ::= { nbInvMIBCompliances 1 }
 
-- ................................................................... 
-- Inventory Conformance Groups 
-- ................................................................... 
 
nbInvIndexGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvIndexesMaxNumber,
--             nbInvIndexId,
             nbInvIndexType,
             nbInvIndexVal,
             nbInvIndexDesc,
             nbInvParentIndexId,
             nbInvOffsetVal
            }
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory Index Table implementation."
    ::= { nbInvMIBGroups 1 }

nbInvShelfGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvShelfIndexTableNum,
             nbInvShelfIndexId,
--             nbInvShelfIndex,
             nbInvShelfHwVer,
             nbInvShelfHwSerialUnit,
             nbInvShelfHwBackPlaneSN,
             nbInvShelfHwCpuNumber,
             nbInvShelfHwFanNumber,
             nbInvShelfHwPSNumber,
             nbInvShelfSwRev,
             nbInvShelfSwBuildTime
            }
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory Shelf Table implementation."
    ::= { nbInvMIBGroups 2 }
 
nbInvSlotGroup  OBJECT-GROUP
    OBJECTS {
             nbInvSlotIndexTableNum,
             nbInvSlotIndexId,
--             nbInvSlotIndex,
             nbInvSlotHardwareVer,
             nbInvSlotHwSerialUnit,
             nbInvSlotHwPartNumber,
             nbInvSlotSwFpgaRevision
            } 
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory Slot Table implementation."
    ::= { nbInvMIBGroups 3 }

nbInvPortGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvPortIndexTableNum,
             nbInvPortIndexId,
--             nbInvPortIndex,
             nbInvPortIdentifier,
             nbInvPortConnector,
             nbInvPortVendorName,
             nbInvPortVendorOUI,
             nbInvPortVendorPN,
             nbInvPortVendorRev,
             nbInvPortVendorSN,
             nbInvPortVendorDate,
             nbInvPortVendorLotCode,
             nbInvPortAlias,
             nbInvPortWavelength
            } 
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory Port Table implementation."
    ::= { nbInvMIBGroups 5 }

nbInvCPUGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvCpuIndexTableNum,
             nbInvCpuIndexId,
--              nbInvCpuIndex,
             nbInvCpuSerial,
             nbInvCpuDescr
            }
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory CPU Table implementation."
    ::= { nbInvMIBGroups 6 }

nbInvFanGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvFanIndexTableNum,
             nbInvFanIndexId,
--             nbInvFanIndex,
             nbInvFanDescr
            } 
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory Fans Table implementation."
    ::= { nbInvMIBGroups 7 }

nbInvPSGroup  OBJECT-GROUP
    OBJECTS { 
             nbInvPsIndexTableNum,
             nbInvPsIndexId,
--             nbInvPsIndex,
             nbInvPsType,
             nbInvPsSerialNumber,
             nbInvPsPartNumber,
             nbInvPsDescr
            } 
    STATUS current 
    DESCRIPTION 
    "Related objects to Inventory PS Table implementation."
    ::= { nbInvMIBGroups 8 }

END







