--  *****************************************************************
--  DLINKPRIME-DEVICE-INFORMATION-MIB.mib : Device Information MIB
--
--  Copyright (c) 2014 D-Link Corporation, all rights reserved.
--
--  *****************************************************************
DLINKPRIME-DEVICE-INFORMATION-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, Unsigned32,
        Integer32, IpAddress
            FROM SNMPv2-SMI
        TruthValue, DateAndTime, DisplayString
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
		    FROM SNMPv2-CONF
        InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB
        dlinkPrimeCommon           
             FROM DLINK-ID-REC-MIB;

    dlinkPrimeDeviceInfoMIB MODULE-IDENTITY
        LAST-UPDATED "201405300000Z"
        ORGANIZATION "D-Link Corp."
        CONTACT-INFO
            "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
            "
        DESCRIPTION
            "This MIB module defines objects for device information function."
        REVISION "201405300000Z"
        DESCRIPTION
            "This is the first version of the MIB file.
            "
        ::= { dlinkPrimeCommon 3 }

    MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                              -- in the
                                              -- "canonical"
                                              -- order, copy from RFC1493

Ipv6Address ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "2x:"
	STATUS       current
	DESCRIPTION
		"This data type is used to model IPv6 addresses.
		This is a binary string of 16 octets in network
		byte-order."
	SYNTAX       OCTET STRING (SIZE (16))

-- ******************************************************************
-- Object Definition
-- ******************************************************************
--    dpDeviceInfoMIBNotifications    OBJECT IDENTIFIER ::= { dlinkPrimeDeviceInfoMIB 0 }        
    dpDeviceInfoMIBObjects          OBJECT IDENTIFIER ::= { dlinkPrimeDeviceInfoMIB 1 }
--    dpDeviceInfoMIBConformance      OBJECT IDENTIFIER ::= { dlinkPrimeDeviceInfoMIB 2 }
-- -----------------------------------------------------------------------------
    dpDeviceInfoSysConfiguration         OBJECT IDENTIFIER ::= { dpDeviceInfoMIBObjects 1 }

    dpDeviceInfoIpV4AddrCfgMode OBJECT-TYPE 
        SYNTAX      INTEGER {
                    manual(1),
                    dhcp(2),
                    bootp(3)
                   }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
            "Specifies the means by which the default interface in the device 
            gets the IP address.

            If 'manual' mode is selected, the default interface takes the 
            'sysDefaultIpAddr' configured in the system.

            If 'dynamic' mode is selected, the default interface gets the IP address
            through dynamic IP address configuration protocols such as RARP client, 
            BootP client, DHCP Client, etc.

            If the system fails to get the IP address dynamically through all the
            above protocols, the default interface uses the 'sysDefaultIpAddr' 
            configured in the system."  
        DEFVAL  { manual } 
        ::= { dpDeviceInfoSysConfiguration 1 }

    dpDeviceInfoIpV4Addr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Default IP Address of the system.
            This IP address, if modified, will take effect only when the 
            configuration is stored & restored."
       ::= { dpDeviceInfoSysConfiguration 2 }
    
    dpDeviceInfoIpV4SubnetMask  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "IP subnet mask for the default IP address.
            This subnet mask, if modified, will take effect only when the
            configuration is stored & restored."
       ::= { dpDeviceInfoSysConfiguration 3 }

    dpDeviceInfoGateway  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Gateway"
        ::= { dpDeviceInfoSysConfiguration 4 }

    dpDeviceInfoDhcpRetry  OBJECT-TYPE
        SYNTAX          Unsigned32 (5..128)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object indicates the DHCP retry Times when DHCP client is
            enabled."
        DEFVAL      { 5 }
        ::= { dpDeviceInfoSysConfiguration 5 }

    dpDeviceInfoIpV6GlobalState     OBJECT-TYPE
        SYNTAX      INTEGER {
                        enable(1),    
                        disable(2)
                    }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "The state of IPv6 that you want this interface to be in. 
            It must be a exist vlan id."
        ::= { dpDeviceInfoSysConfiguration 6 }

    dpDeviceInfoIpV6AddressIpAddr       OBJECT-TYPE
         SYNTAX         Ipv6Address
         MAX-ACCESS     read-write
         STATUS         current
         DESCRIPTION
            "Static IPv6 Address."
         ::= { dpDeviceInfoSysConfiguration 7 }

    dpDeviceInfoMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The MAC address of this system."
        ::= { dpDeviceInfoMIBObjects 2 }

    dpDeviceInfoBootPromVersion OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "A textual string containing the PROM version of the system."
        ::= { dpDeviceInfoMIBObjects 3 }

    dpDeviceInfoFirmwareVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "A textual string containing the firmware version of the system."
        ::= { dpDeviceInfoMIBObjects 4 }

    dpDeviceInfoHardwareVersion  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "A textual string containing the hardware version of the system."
        ::= { dpDeviceInfoMIBObjects 5 }

    dpDeviceInfoSerialNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A text string containing the serial number of the system."
        ::= { dpDeviceInfoMIBObjects 6 }

END

