DLINK-3100-DHCPCL-MIB DEFINITIONS ::= BEGIN

-- Title:                DLINK-3100 ROS
--                       Private DHCP CL MIB
-- Version:              7.46
-- Date:                 15-Jan-2007

IMPORTS
    rnd                                                     FROM DLINK-3100-MIB
    OBJECT-TYPE, MODULE-IDENTITY, IpAddress                 FROM SNMPv2-SMI
    TruthValue, RowStatus, DisplayString                    FROM SNMPv2-TC
    InterfaceIndex, ifIndex                                 FROM IF-MIB
    SnmpAdminString                                         FROM SNMP-FRAMEWORK-MIB;

rlDhcpCl MODULE-IDENTITY
                LAST-UPDATED "200701020000Z"
                ORGANIZATION "Dlink, Inc.
                              Dlink Semiconductor, Inc."
                CONTACT-INFO
                      "www.dlink.com"
                DESCRIPTION
                      "This private MIB module defines DHCP CL private MIBs."
                REVISION "200701020000Z"
                DESCRIPTION
                      "Initial revision."
        ::= { rnd 76 }

-- rlDhcpCl 1,2 saved for future use

rlDhcpClActionTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF RlDhcpClActionEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION
            " The (conceptual) table mentione IP address which must be
              released/renewed on the interface."
    ::= { rlDhcpCl 3 }

rlDhcpClActionEntry OBJECT-TYPE
    SYNTAX     RlDhcpClActionEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in dhcpClActionTable."
    INDEX      { rlDhcpClActionIfIndex }
    ::= { rlDhcpClActionTable 1 }

RlDhcpClActionEntry ::= SEQUENCE {
    rlDhcpClActionIfIndex            InterfaceIndex,
    rlDhcpClActionStatus             RowStatus,
    rlDhcpClActionHostName           SnmpAdminString
}

rlDhcpClActionIfIndex          OBJECT-TYPE
    SYNTAX             InterfaceIndex
    MAX-ACCESS         read-only
    STATUS      current
    DESCRIPTION
        " The interface which the action is implemented for
        or NULL if it implemented for all device. "
    ::= { rlDhcpClActionEntry  1 }

rlDhcpClActionStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS     read-create
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry renewing Dhcp
              address on the interface; destroying the entry release Dhcp
              address on the interface."
    ::= { rlDhcpClActionEntry   2}

rlDhcpClActionHostName OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE(0..20))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
       " This option specifies the name of the client."
    ::= { rlDhcpClActionEntry   3 }


------------------------------
-- DHCP Approval feature
------------------------------

-- rlDhcpApprovalEnabled --

rlDhcpApprovalEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "DHCP Approval feature status - enable (True) or desable (False).
                Must be True only if DHCP Approval supported, device has only one
                ip interface and default ip exist."
    ::= { rlDhcpCl 4 }


-- rlDhcpApprovalWaitingTable --

rlDhcpApprovalWaitingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RlDhcpApprovalWaitingEntry
    MAX-ACCESS      not-accessible
    STATUS      current
    DESCRIPTION "IP addresses waiting for approval."
    ::= { rlDhcpCl 5 }

rlDhcpApprovalWaitingEntry OBJECT-TYPE
    SYNTAX      RlDhcpApprovalWaitingEntry
    MAX-ACCESS      not-accessible
    STATUS      current
    DESCRIPTION "An entry in rlDhcpApprovalWaitingTable."
    INDEX      { rlDhcpApprovalWaitingIfIndex }
    ::= { rlDhcpApprovalWaitingTable 1 }

RlDhcpApprovalWaitingEntry ::= SEQUENCE {
    rlDhcpApprovalWaitingIfIndex     InterfaceIndex,
    rlDhcpApprovalWaitingAddress     IpAddress,
    rlDhcpApprovalWaitingMask        IpAddress,
    rlDhcpApprovalWaitingGateway     IpAddress
}

rlDhcpApprovalWaitingIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "IP interface ifIndex."
    ::= { rlDhcpApprovalWaitingEntry  1 }

rlDhcpApprovalWaitingAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "IP Address waiting for approval."
    ::= { rlDhcpApprovalWaitingEntry   2}

rlDhcpApprovalWaitingMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "Mask waiting for approval."
    ::= { rlDhcpApprovalWaitingEntry   3}

rlDhcpApprovalWaitingGateway OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "Default gateway of received address."
    ::= { rlDhcpApprovalWaitingEntry   4}



-- rlDhcpApprovalActionTable --

rlDhcpApprovalActionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RlDhcpApprovalActionEntry
    MAX-ACCESS      not-accessible
    STATUS      current
    DESCRIPTION "Action for waiting ip address (approve/decline)."
    ::= { rlDhcpCl 6 }

rlDhcpApprovalActionEntry OBJECT-TYPE
    SYNTAX      RlDhcpApprovalActionEntry
    MAX-ACCESS      not-accessible
    STATUS      current
    DESCRIPTION "An entry in rlDhcpApprovalActionTable."
    INDEX      {rlDhcpApprovalActionIfIndex,
                rlDhcpApprovalActionAddress,
                rlDhcpApprovalActionMask }
    ::= { rlDhcpApprovalActionTable 1 }

RlDhcpApprovalActionEntry ::= SEQUENCE {
    rlDhcpApprovalActionIfIndex     InterfaceIndex,
    rlDhcpApprovalActionAddress     IpAddress,
    rlDhcpApprovalActionMask        IpAddress,
    rlDhcpApprovalActionApprove     TruthValue
}

rlDhcpApprovalActionIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "IP interface ifIndex."
    ::= { rlDhcpApprovalActionEntry  1 }

rlDhcpApprovalActionAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "IP Address."
    ::= { rlDhcpApprovalActionEntry  2 }

rlDhcpApprovalActionMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS      read-only
    STATUS      current
    DESCRIPTION "IP Address mask."
    ::= { rlDhcpApprovalActionEntry  3 }

rlDhcpApprovalActionApprove OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS      read-write
    STATUS      current
    DESCRIPTION "Approve or decline ip address."
    ::= { rlDhcpApprovalActionEntry   4}


-- =======================================================
-- DHCP Renew
-- =======================================================

rlDhcpClCommandTable        OBJECT-TYPE
    SYNTAX SEQUENCE OF RlDhcpClCommandEntry
    MAX-ACCESS          read-only
    STATUS          current
    DESCRIPTION     "Action MIB for DHCP Renew command."
    ::= { rlDhcpCl 7 }

rlDhcpClCommandEntry OBJECT-TYPE
    SYNTAX          RlDhcpClCommandEntry
    MAX-ACCESS          not-accessible
    STATUS          current
    DESCRIPTION     "The row definition for this table."
    INDEX { ifIndex }
::= { rlDhcpClCommandTable 1 }

RlDhcpClCommandEntry::= SEQUENCE {
    rlDhcpClCommandAction  INTEGER
}

rlDhcpClCommandAction OBJECT-TYPE
    SYNTAX          INTEGER {
                                none(0),
                                renew(1),
                                renewForceAutoconfig(2)
                            }
    MAX-ACCESS          read-write
    STATUS          current
    DESCRIPTION     "Action to apply. When the field is renew_force_autoconfig the meaning is that
                     every time when DHCP option 67 is received, the configuration is downloaded from DHCP server.
                     The default value is false."
    ::= { rlDhcpClCommandEntry 2 }

rlDhcpClConfigurationFileName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The configuration file name that loaded into the device.
        The filename is a relative path on the TFTP server, without the server IP address."
        DEFVAL{""}
    ::= { rlDhcpCl 8 }

rlDhcpClOption67Enable OBJECT-TYPE
    SYNTAX INTEGER{
       enable(1),
       disable(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Defines whether the configuration file can be downloaded from DHCP packet option 67."
    DEFVAL{ enable }
    ::= { rlDhcpCl 9 }
END
