DLINKMGMT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        IpAddress, TimeTicks        FROM RFC1155-SMI
        MODULE-IDENTITY,OBJECT-TYPE FROM SNMPv2-SMI
        dlink                       FROM ID-REC-MIB
        DisplayString, PhysAddress  FROM RFC1213-MIB;

    dlinkMgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "200007150000Z"
	    ORGANIZATION "D-Link, Inc."
	    CONTACT-INFO
	        "   D-Link Customer Service

		    Postal: No. 20,Park Ave, II, Science-based
			        Industrial Park, Hsinchu, taiwan, R.O.C.

		       Tel: 886-3-577-9966

		    E-mail: "
	    DESCRIPTION
		    "The Structure of Common Management Information for the
		    D-Link enterprise."
        ::= { dlink 11 }

    agentConfigInfo         OBJECT IDENTIFIER ::= { dlinkMgmtMIB 1 }

    -- ****************
    -- agentBasicInfo *
    -- ****************
    agentBasicInfo          OBJECT IDENTIFIER ::= { agentConfigInfo 1 }

    agentRuntimeSwVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This is a textual description of the runtime software version and
             revision. If the version number is one and revision number is zero
             agentRuntimeSwVersion would be 'Ver. 1.0'"
        ::= { agentBasicInfo 1 }

    agentPromFwVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This is a textual description of the agent PROM firmware version
             and revision. If the version number is one and revision number is
             zero agentPromFwVersion would be 'Ver. 1.0'"
        ::= { agentBasicInfo 2 }

    agentHwRevision OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This is a textual description of the hardware version and revision.
             If the version number is one and revision number is zero
             agentHwRevision would be 'Ver. 1.0'"
        ::= { agentBasicInfo 3 }

    agentMgmtProtocolCapability OBJECT-TYPE
        SYNTAX  INTEGER {   
                    other(1),
                    snmp-ip(2),
                    snmp-ipx(3),
                    snmp-ip-ipx(4)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The network management protocol(s) supported by this agent."
        ::= { agentBasicInfo 4 }

    -- *************************
    -- agentMibcapabilityTable *
    -- *************************

    agentMibCapabilityTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AgentMibCapabilityEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of MIB capability entries supported by this agent."    
        ::= { agentBasicInfo 5 }

    agentMibCapabilityEntry OBJECT-TYPE
        SYNTAX  AgentMibCapabilityEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A MIB capability entry contains objects describing a particular MIB
             supported by this agent."
        INDEX   { agentMibCapabilityIndex }
        ::= { agentMibCapabilityTable 1 }

    AgentMibCapabilityEntry ::= 
        SEQUENCE {
            agentMibCapabilityIndex
                INTEGER,
            agentMibCapabilityDescr
                DisplayString,
            agentMibCapabilityVersion
                INTEGER,
            agentMibCapabilityType
                INTEGER
        }

    agentMibCapabilityIndex OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A list of agentMibCapabilityDescr entries."
        ::= { agentMibCapabilityEntry 1 }

    agentMibCapabilityDescr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..16))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The name of the MIB supported by the agent."
        ::= { agentMibCapabilityEntry 2 }

    agentMibCapabilityVersion OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The version of the MIB specified in this entry."
        ::= { agentMibCapabilityEntry 3 }

    agentMibCapabilityType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    standard(2),
                    proprietary(3),
                    experiment(4)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The type of the MIB specified in this entry."
        ::= { agentMibCapabilityEntry 4 }

    agentMgmtRole OBJECT-TYPE
         SYNTAX  INTEGER {
                 other(1),
                 primary-master(2),
                 backup-master(3)
         }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
             "The role of this agent within this particular switch structure ."
         ::= { agentBasicInfo 6 }

    -- ******************
    -- agentBasicConfig *
    -- ******************

    agentBasicConfig        OBJECT IDENTIFIER ::= { agentConfigInfo 2 }

    agentFirmwareFile OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The name of the firmware file to be downloaded."
        ::= { agentBasicConfig 1 }

    agentFirmwareSourceAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The ip address where new firmware file is located on."
        ::= { agentBasicConfig 2 }

    agentFirmwareUpdateCtrl OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    activate(2)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "while this object is set to 'activate', FTP download is working
            immediately, and agentFirmwareUpdateState is changed to 'in-process'.
            The agent always returns 'other' while it is read." 
        ::= { agentBasicConfig 3 }

    agentFirmwareUpdateState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1) ,
                    in-process(2),
                    invalid-file(3),
                    violation(4),
                    file-not-found(5),
                    disk-full(6),
                    complete(7),
                    time-out(8)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "status of firmware download control. If the value is 'other',
            means never firmware updated since device started up." 
        ::= { agentBasicConfig 4 }

    agentFirmwareLastUpdateTime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "record the sysUptime for last active agentFirmwareUpdateCtrl. Default
            is set to 0." 
        ::= { agentBasicConfig 5 }

    agentSystemReset OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    warm-start(2),
                    no-reset(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the agent system reset state. Setting this
             object to no-reset(3) has no effect. Setting this object to
             warm-start(2) will reset the agent. The agent always returns no-reset(3)
             when this object is read."
        ::= { agentBasicConfig 6 }

    agentRs232PortConfig OBJECT-TYPE
        SYNTAX  INTEGER  {
                    other(1),
                    console(2),
                    out-of-band(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the RS-232C mode while device restart."
        ::= { agentBasicConfig 7 }

    agentOutOfBandBaudRateConfig OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    baudRate-2400 (2),
                    baudRate-9600 (3),
                    baudRate-19200(4),
                    baudRate-38400(5)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the out_of_band baud rate while device
             restart."
        ::= { agentBasicConfig 8 }

    -- ***********************
    -- agentIpProtocolConfig *
    -- ***********************

    agentIpProtoConfig      OBJECT IDENTIFIER ::= { agentConfigInfo 3 }

    agentIpNumOfIf OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The total number of IP interfaces supported by this agent."
        ::= {  agentIpProtoConfig 1 }

    agentIpIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AgentIpIfEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of IP interface entries supported by the agent."
        ::= {  agentIpProtoConfig 2 }

    agentIpIfEntry OBJECT-TYPE
        SYNTAX  AgentIpIfEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An agentIPIfEntry contains information about a particular IP
             interface."
        INDEX   { agentIpIfIndex }
        ::= { agentIpIfTable 1 }

    AgentIpIfEntry ::= 
        SEQUENCE {
            agentIpIfIndex
                INTEGER,
            agentIpIfAddress 
                IpAddress,
            agentIpIfNetMask
                IpAddress,
            agentIpIfDefaultRouter
                IpAddress,
            agentIpIfMacAddr
                PhysAddress,
            agentIpIfType
                INTEGER                                                   
        }

    agentIpIfIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..255)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object uniquely identifies the IP interface number in the
            agentIpIfTable. This value should never greater than agentIpNumOfIf ."
        ::= {  agentIpIfEntry 1 }

    agentIpIfAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IP address of the interface ."
        ::= {  agentIpIfEntry 2 }

    agentIpIfNetMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IP net mask for this interface ."
        ::= {  agentIpIfEntry 3 }

    agentIpIfDefaultRouter OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The default gateway for this IP interface."
        ::= {  agentIpIfEntry 4 }

    agentIpIfMacAddr OBJECT-TYPE
        SYNTAX  PhysAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The MAC address of this IP interface. For interfaces which do not
             have such an address. (e.g., a serial line), this object should
             contain an octet string of zero length."
        ::= {  agentIpIfEntry 5 }

    agentIpIfType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),          -- none of the following
                    ethernet-csmacd(6),
                    slip(28)           -- generic SLIP
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The physical layer interface of the IP interface."
        ::= {  agentIpIfEntry 6 }

    agentIpBootServerAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The IP Address of Boot Server."
        ::= {  agentIpProtoConfig 3 }

    agentIpGetIpFromBootpServer OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    disabled(2),
                    bootp(3),
                    dhcp(4)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates whether the agent get its system IP address
             from Bootp/DHCP server at start up."
        ::= { agentIpProtoConfig 4 }

    agentIpUnauthAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IP address of an unauthorized SNMP packet."
        ::= { agentIpProtoConfig 5 }

    agentIpUnauthComm OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..40))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The community string of an unauthorized SNMP packet."
        ::= { agentIpProtoConfig 6 }

    -- ************************
    -- agentIptrapMangerTable *
    -- ************************

    agentIpTrapManagerTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AgentIpTrapManagerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of trap manager entries to which to send SNMP traps ."
        ::= {  agentIpProtoConfig 9 }

    agentIpTrapManagerEntry OBJECT-TYPE
        SYNTAX  AgentIpTrapManagerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This entry contains the particular trap manager settings."
        INDEX   { agentIpTrapManagerIpAddr }
        ::= { agentIpTrapManagerTable 1 }

    AgentIpTrapManagerEntry ::= 
        SEQUENCE {
                    agentIpTrapManagerIpAddr
                        IpAddress,
                    agentIpTrapManagerComm
                        DisplayString,
                    agentIpTrapManagerStatus
                        INTEGER
        }

    agentIpTrapManagerIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IP address to receive SNMP traps from this device."
        ::= { agentIpTrapManagerEntry 1 }

    agentIpTrapManagerComm OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..40))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The community string of the SNMP trap packet sent to the trap
            manager."
        ::= { agentIpTrapManagerEntry 2 }

    agentIpTrapManagerStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    disabled(2),
                    enabled(3)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates whether or not the trap should be send to
            this trap manager."
        ::= { agentIpTrapManagerEntry 3 }

    agenMaxManagerIp OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Maximum number of entries in the management ip security
            table (agentManagerIpSecurityTable)."
        ::= {  agentIpProtoConfig 10 }

    agenCurrtManagerIp OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Current applied number of entries in the management ip security
            table ."
        ::= {  agentIpProtoConfig 11 }

    -- *****************************
    -- agentManagerIpSecurityTable *
    -- *****************************

    agentManagerIpSecurityTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF AgentManagerIpSecurityEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information about security management ip .
            When the table is empty , the device permit any ip to manage the
            device . If the table is'nt empty , it will only permit the same
            destination address to manage the device ."
        ::= {  agentIpProtoConfig 12 }

    agentManagerIpSecurityEntry OBJECT-TYPE
        SYNTAX  AgentManagerIpSecurityEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An entry containing a security ip address for a particular security
            request ."
        INDEX   { agentManagerIpSecurityAddr }
        ::= { agentManagerIpSecurityTable 1 }

    AgentManagerIpSecurityEntry ::= 
        SEQUENCE {
            agentManagerIpSecurityAddr
                IpAddress,
            agentManagerIpSecurityStatus
                INTEGER
        }

    agentManagerIpSecurityAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The IP address for the security request ."
        ::= { agentManagerIpSecurityEntry 1 }

    agentManagerIpSecurityStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    disabled(2),
                    enabled(3)
                }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the security ip address status . To writing
            disabled value to the object, and then the corresponding entry will
            be removed from the table."
        ::= { agentManagerIpSecurityEntry 2 }

END
