--  =======================================================================
--  File        : dev-id.mib
--  Description : Private MIB for Linux Router
--  By          : Alex Rozin
--  Supports information about device identifiaction

-- 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-ID-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, enterprises,
    Integer32                                    FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP              FROM SNMPv2-CONF
    DisplayString                                FROM SNMPv2-TC;


nbDevId  MODULE-IDENTITY
    LAST-UPDATED "200602220000Z"
    ORGANIZATION "MRV Communications, Inc."
    CONTACT-INFO
        "Alex Rozin
         MRV Communication, Inc
         http://www.mrv.com
         Email:  ARozin@mrv.com"
    DESCRIPTION
        "Supports information about device identifiaction."

    -- Revision history

    REVISION "200602220000Z"
    DESCRIPTION
        "Initial edition."
    ::= { nbSwitchG1Il 16 }

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

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

nbDevIdHardware        OBJECT IDENTIFIER ::= { nbDevId 4 }
nbDevIdSoftware        OBJECT IDENTIFIER ::= { nbDevId 5 }
nbDevIdConformance     OBJECT IDENTIFIER ::= { nbDevId 101 }
nbDevIdHardwareSerial  OBJECT IDENTIFIER ::= { nbDevIdHardware 3 }

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


-- ************************************************************
-- Product Name
-- ************************************************************
nbDevIdTypeName                OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the device type, for example 'OptiSwitch 9024-4C'."
    ::= { nbDevId 1 }

nbDevIdSysName                 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "An administratively-assigned name for this managed node.
            By convention, this is the node's fully-qualified domain
            name.  If the name is unknown, the value is the zero-length
            string. See also sysName=mib-2.system.5"
    ::= { nbDevId 2 }

nbDevIdBaseMAC                 OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (6))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Base MAC address."
    ::= { nbDevId 3 }

-- ************************************************************
-- Hardware
-- ************************************************************

nbDevIdHardwareVersion         OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Hardware version."
    ::= { nbDevIdHardware 2 }

nbDevIdHardwareSerialBoard     OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Board serial number."
    ::= { nbDevIdHardwareSerial 1 }

nbDevIdHardwareSerialUnit      OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Unit serial number."
    ::= { nbDevIdHardwareSerial 2 }

nbDevIdHardwareCpuNumber       OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of CPUs."
    ::= { nbDevIdHardware 4 }

nbDevIdCpuTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbDevIdCpuEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "List of supported standard MIBs."
    ::= { nbDevIdHardware 5 }

nbDevIdCpuEntry                OBJECT-TYPE
    SYNTAX       NbDevIdCpuEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbDevIdCpuIndex }

    ::= { nbDevIdCpuTable 1 }

NbDevIdCpuEntry ::= SEQUENCE {
                              nbDevIdCpuIndex      Integer32,
                              nbDevIdCpuSerial     DisplayString,
                              nbDevIdCpuDescr      DisplayString
                             }

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

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

nbDevIdCpuDescr               OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "CPU description, let's say
         'MPC8245, 266MHz with 64MB flash and 128MB Dram memory'."
    ::= { nbDevIdCpuEntry 9 }

-- ************************************************************
-- Software
-- ************************************************************

nbDevIdSoftwareMasterOSVers    OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Software version description, let's say '1_0_6'."
    ::= { nbDevIdSoftware 1 }

nbDevIdSoftwareBuildTime       OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Build time, for example: Tue Jun 14 23:03:09 IDT 2005."
    ::= { nbDevIdSoftware 2 }

-- ************************************************************
-- nbDevIdMibTable
-- ************************************************************

nbDevIdMibTable                OBJECT-TYPE
    SYNTAX       SEQUENCE OF NbDevIdMibEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "List of supported standard MIBs."
    ::= { nbDevIdSoftware 3 }

nbDevIdMibEntry                OBJECT-TYPE
    SYNTAX       NbDevIdMibEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  "."

    INDEX       { nbDevIdMibStdName }

    ::= { nbDevIdMibTable 1 }

NbDevIdMibEntry ::= SEQUENCE {
                              nbDevIdMibStdName    DisplayString,
                              nbDevIdMibName       DisplayString,
                              nbDevIdMibTitle      DisplayString,
                              nbDevIdMibNote       DisplayString
                             }

nbDevIdMibStdName              OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(3..32))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Name of the standart, like RFC2819."
    ::= { nbDevIdMibEntry 1 }

nbDevIdMibName                 OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(3..32))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Name of the MIB, like RMON-MIB."
    ::= { nbDevIdMibEntry 2 }

nbDevIdMibTitle                OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Title of standart, like 
         'Remote Network Monitoring Management Information Base'."
    ::= { nbDevIdMibEntry 5 }

nbDevIdMibNote                 OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Note about level of support on the current device."
    ::= { nbDevIdMibEntry 8 }

nbDevIdFirmware                OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Firmware version."
    ::= { nbDevId 6 }

-- ******************************************************************* 
--  Conformance Information 
-- ******************************************************************* 
 
nbDevIdMIBCompliances  OBJECT IDENTIFIER ::= { nbDevIdConformance 1 }
nbDevIdMIBGroups       OBJECT IDENTIFIER ::= { nbDevIdConformance 2 }

nbDevIdMIBCompliance MODULE-COMPLIANCE
    STATUS current 
    DESCRIPTION 
        "The core compliance statement for all 'nbDevId' MIB implementations."
    MODULE -- this module 
     
        MANDATORY-GROUPS { 
                          nbDevIdGroup
                         } 
        GROUP nbDevIOptionaldGroup
        DESCRIPTION 
        "."
    ::= { nbDevIdMIBCompliances 1 }
 
-- ................................................................... 
-- Conformance Groups 
-- ................................................................... 
 
nbDevIdGroup  OBJECT-GROUP
    OBJECTS { 
             nbDevIdTypeName,
             nbDevIdSysName,
             nbDevIdBaseMAC,
             nbDevIdHardwareVersion,
             nbDevIdHardwareSerialBoard,
             nbDevIdHardwareSerialUnit,
             nbDevIdSoftwareMasterOSVers,
             nbDevIdSoftwareBuildTime,
             nbDevIdHardwareCpuNumber,
             nbDevIdCpuSerial,
             nbDevIdCpuDescr
            } 
    STATUS current 
    DESCRIPTION 
        "Mandatory objects for grouping of Device Id parameters."
    ::= { nbDevIdMIBGroups 1 }
 

nbDevIOptionaldGroup  OBJECT-GROUP
    OBJECTS { 
             nbDevIdMibName,
             nbDevIdMibTitle,
             nbDevIdMibNote,
             nbDevIdFirmware
            } 
    STATUS current
    DESCRIPTION 
        "Optional objects for grouping of Device Id parameters."
    ::= { nbDevIdMIBGroups 2 }

END







