RADLAN-DHCP-MIB DEFINITIONS ::= BEGIN

-- Title:                   DHCP Server ROS
--                          This Private MIB supports the DHCP Server for ROS
-- Version:                 7.30
-- Date:                    18 Oct 2003

IMPORTS
    OBJECT-TYPE, IpAddress, Unsigned32,
    MODULE-IDENTITY                         FROM SNMPv2-SMI
    DisplayString                           FROM SNMPv2-TC
    TruthValue, RowStatus                   FROM SNMPv2-TC
    SnmpAdminString                         FROM SNMP-FRAMEWORK-MIB
    rnd                                     FROM RADLAN-MIB;

rsDHCP MODULE-IDENTITY
          LAST-UPDATED "200310180000Z"
          ORGANIZATION ""
          CONTACT-INFO
                  ""
          DESCRIPTION
                  "The private MIB module definition for DHCP server support."
          REVISION "200310180000Z"
          DESCRIPTION
                  "Initial version of this MIB."
          ::= { rnd 38 }

-- unused:
-- { rsDHCP 1 } .. { rsDHCP 13 }

rsDhcpMibVersion OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "DHCP MIB's version, the current version is 4."
    ::= { rsDHCP 14 }

-- unused:
-- { rsDHCP 15 } .. { rsDHCP 21 }

-- =======================================================
-- DHCP Relay
-- =======================================================

rlDhcpRelayEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or disable the use of the DHCP relay."
--  DEFVAL { false }
    ::= { rsDHCP 25 }

rlDhcpRelayExists   OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This variable shows whether the device can function as a DHCP Relay Agent."
    ::= { rsDHCP 26 }

-- Next Servers Table

rlDhcpRelayNextServerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RlDhcpRelayNextServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The DHCP Relay Next Servers configuration Table"
    ::= { rsDHCP 27 }

rlDhcpRelayNextServerEntry OBJECT-TYPE
    SYNTAX RlDhcpRelayNextServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The row definition for this table. DHCP requests are relayed to the
        specified next server according to their threshold values."
    INDEX { rlDhcpRelayNextServerIpAddr }
    ::=  { rlDhcpRelayNextServerTable 1 }

RlDhcpRelayNextServerEntry ::= SEQUENCE {
      rlDhcpRelayNextServerIpAddr
         IpAddress,
      rlDhcpRelayNextServerSecThreshold
         Unsigned32,
      rlDhcpRelayNextServerRowStatus
         RowStatus
     }

rlDhcpRelayNextServerIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "The IPAddress of the next configuration server. DHCP Server may
       act as a DHCP relay if  this parameter is not equal to 0.0.0.0."
    ::= { rlDhcpRelayNextServerEntry 1  }

rlDhcpRelayNextServerSecThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "DHCP requests are relayed only if their SEC field is greater or
        equal to the threshold value in order to allow local DHCP Servers
        to answer first."
--  DEFVAL  {0}
    ::= { rlDhcpRelayNextServerEntry 2 }

rlDhcpRelayNextServerRowStatus  OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This variable displays the validity or invalidity of the entry.
        Setting it to 'destroy' has the effect of  rendering it inoperative.
        The internal effect (row removal) is implementation dependent."
    ::= { rlDhcpRelayNextServerEntry 3 }

-- =======================================================
-- DHCP Server
-- =======================================================

rlDhcpSrvEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or Disable the use of the DHCP Server."
--  DEFVAL { true }
    ::= { rsDHCP 30 }

rlDhcpSrvExists OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This variable shows whether the device can function as a DHCP Server."
    ::= { rsDHCP 31 }

rlDhcpSrvDbLocation OBJECT-TYPE
    SYNTAX INTEGER {
        nvram (1),
        flash (2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Describes where DHCP Server database is stored."
--  DEFVAL { nvram }
    ::= { rsDHCP 32 }

rlDhcpSrvMaxNumOfClients OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This variable shows maximum number of clients that can be
         supported by DHCP Server dynamic allocation."
    ::= { rsDHCP 33 }

rlDhcpSrvDbNumOfActiveEntries OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This variable shows number of active entries stored in database."
    ::= { rsDHCP 34 }

rlDhcpSrvDbErase OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value is always false. Setting this variable to true causes erasing all entries in DHCP database."
--  DEFVAL { false }
    ::= { rsDHCP 35 }

rlDhcpSrvProbeEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or Disable the use of the DHCP probe before allocating an IP address."
--  DEFVAL { false }
    ::= { rsDHCP 36 }

rlDhcpSrvProbeTimeout OBJECT-TYPE
    SYNTAX Unsigned32 (300..10000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates the peiod of time in milliseconds the DHCP probe will wait before
        issuing a new trial or deciding that no other device on the network
        has the IP address which DHCP considers allocating."
--  DEFVAL { 500 }
    ::= { rsDHCP 37 }

rlDhcpSrvProbeRetries OBJECT-TYPE
    SYNTAX Unsigned32 (1..10)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates how many times DHCP will probe before deciding that no other
        device on the network has the IP address which DHCP
        considers allocating."
--  DEFVAL { 2 }
    ::= { rsDHCP 38 }

-- IP Addresses Table

rlDhcpSrvIpAddrTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RlDhcpSrvIpAddrEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Table of IP Addresses allocated by DHCP Server by static
      and dynamic allocations."
    ::= { rsDHCP 45}

rlDhcpSrvIpAddrEntry OBJECT-TYPE
    SYNTAX RlDhcpSrvIpAddrEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The row definition for this table.
        Parameters of DHCP allocated IP Addresses table."
    INDEX { rlDhcpSrvIpAddrIpAddr }
    ::= { rlDhcpSrvIpAddrTable 1 }

RlDhcpSrvIpAddrEntry ::= SEQUENCE {
      rlDhcpSrvIpAddrIpAddr
         IpAddress,
      rlDhcpSrvIpAddrIpNetMask
         IpAddress,
      rlDhcpSrvIpAddrIdentifier
         OCTET STRING,
      rlDhcpSrvIpAddrIdentifierType
         INTEGER,
      rlDhcpSrvIpAddrClnHostName
         SnmpAdminString,
      rlDhcpSrvIpAddrMechanism
         INTEGER,
      rlDhcpSrvIpAddrAgeTime
         Unsigned32,
      rlDhcpSrvIpAddrPoolName
         DisplayString,
      rlDhcpSrvIpAddrConfParamsName
         DisplayString,
      rlDhcpSrvIpAddrRowStatus
         RowStatus
      }

rlDhcpSrvIpAddrIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP address that was allocated by DHCP Server."
    ::= { rlDhcpSrvIpAddrEntry 1 }

rlDhcpSrvIpAddrIpNetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The subnet mask associated with the IP address of this entry.
        The value of the mask is an IP address with all the network bits
        set to 1 and all the hosts bits set to 0."
    ::= { rlDhcpSrvIpAddrEntry 2 }

rlDhcpSrvIpAddrIdentifier OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Unique Identifier for client. Either physical address or DHCP Client Identifier."
    ::= { rlDhcpSrvIpAddrEntry 3 }

rlDhcpSrvIpAddrIdentifierType OBJECT-TYPE
    SYNTAX INTEGER {
        physAddr(1),
        clientId(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Identifier Type. Either physical address or DHCP Client Identifier."
--  DEFVAL { physAddr }
    ::= { rlDhcpSrvIpAddrEntry 4 }

rlDhcpSrvIpAddrClnHostName OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE(0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Client Host Name. DHCP Server will use it to update DNS Server.
        Must be unique per client."
    ::= { rlDhcpSrvIpAddrEntry 5 }

rlDhcpSrvIpAddrMechanism OBJECT-TYPE
    SYNTAX INTEGER {
        manual(1),
        automatic(2),
        dynamic(3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Mechanism of allocation IP Address by DHCP Server.
        The only value that can be set by user is manual."
--  DEFVAL { manual }
    ::= { rlDhcpSrvIpAddrEntry 6 }

rlDhcpSrvIpAddrAgeTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Age time of the IP Address."
    ::= { rlDhcpSrvIpAddrEntry 7 }

rlDhcpSrvIpAddrPoolName  OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Ip address pool name. A unique name for host pool static allocation,
        or network pool name in case of dynamic allocation."
    ::= { rlDhcpSrvIpAddrEntry 8 }

rlDhcpSrvIpAddrConfParamsName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This variable points (serves as key) to appropriate set of parameters
        in the DHCP Server configuration parameters table."
    ::= { rlDhcpSrvIpAddrEntry 9 }

rlDhcpSrvIpAddrRowStatus  OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The row status variable, used according to
        row installation and removal conventions."
    ::= { rlDhcpSrvIpAddrEntry 10 }

-- Dynamic Table

rlDhcpSrvDynamicTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RlDhcpSrvDynamicEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The DHCP Dynamic Server's configuration Table"
    ::=  { rsDHCP 46 }

rlDhcpSrvDynamicEntry OBJECT-TYPE
    SYNTAX RlDhcpSrvDynamicEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The row definition for this table. Parameters sent in
        as a DHCP Reply to DHCP Request with specified indices"
    INDEX { rlDhcpSrvDynamicPoolName }
    ::=  { rlDhcpSrvDynamicTable 1 }

RlDhcpSrvDynamicEntry ::= SEQUENCE {
      rlDhcpSrvDynamicPoolName
         DisplayString,
      rlDhcpSrvDynamicIpAddrFrom
         IpAddress,
      rlDhcpSrvDynamicIpAddrTo
         IpAddress,
      rlDhcpSrvDynamicIpNetMask
         IpAddress,
      rlDhcpSrvDynamicLeaseTime
         Unsigned32,
      rlDhcpSrvDynamicProbeEnable
         TruthValue,
      rlDhcpSrvDynamicTotalNumOfAddr
         Unsigned32,
      rlDhcpSrvDynamicFreeNumOfAddr
         Unsigned32,
      rlDhcpSrvDynamicConfParamsName
         DisplayString,
      rlDhcpSrvDynamicRowStatus
         RowStatus
     }

rlDhcpSrvDynamicPoolName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(1..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of DHCP dynamic addresses pool."
    ::= { rlDhcpSrvDynamicEntry 1 }

rlDhcpSrvDynamicIpAddrFrom OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The first IP address allocated in this row."
    ::= { rlDhcpSrvDynamicEntry 2 }

rlDhcpSrvDynamicIpAddrTo OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The last IP address allocated in this row."
    ::= { rlDhcpSrvDynamicEntry 3 }

rlDhcpSrvDynamicIpNetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The subnet mask associated with the IP addresses of this entry.
        The value of the mask is an IP address with all the network bits
        set to 1 and all the hosts bits set to 0."
    ::= { rlDhcpSrvDynamicEntry 4 }

rlDhcpSrvDynamicLeaseTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum lease-time in seconds granted to a requesting DHCP client.
        For automatic allocation use 0xFFFFFFFF.
        To exclude addresses from allocation mechanism, set this value to 0."
--  DEFVAL { 86400 }
    ::= { rlDhcpSrvDynamicEntry 5 }

rlDhcpSrvDynamicProbeEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or Disable the use of the DHCP probe before allocating the address."
--  DEFVAL { true }
    ::= { rlDhcpSrvDynamicEntry 6 }

rlDhcpSrvDynamicTotalNumOfAddr OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of addresses in space."
    ::= { rlDhcpSrvDynamicEntry 7 }

rlDhcpSrvDynamicFreeNumOfAddr OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Free number of addresses in space."
    ::= { rlDhcpSrvDynamicEntry 8 }

rlDhcpSrvDynamicConfParamsName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This variable points (serves as key) to appropriate set of parameters
        in the DHCP Server configuration parameters table."
    ::= { rlDhcpSrvDynamicEntry 9 }

rlDhcpSrvDynamicRowStatus  OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The row status variable, used according to
        row installation and removal conventions."
    ::= { rlDhcpSrvDynamicEntry 10 }

-- Configuration Parameters Table

rlDhcpSrvConfParamsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RlDhcpSrvConfParamsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The DHCP Configuration Parameters Table"
    ::=  { rsDHCP 47 }

rlDhcpSrvConfParamsEntry OBJECT-TYPE
    SYNTAX RlDhcpSrvConfParamsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The row definition for this table.
        Each entry corresponds to one specific parameters set."
    INDEX { rlDhcpSrvConfParamsName  }
    ::=  { rlDhcpSrvConfParamsTable 1 }

RlDhcpSrvConfParamsEntry ::= SEQUENCE {
    rlDhcpSrvConfParamsName
       DisplayString,
    rlDhcpSrvConfParamsNextServerIp
       IpAddress,
    rlDhcpSrvConfParamsNextServerName
       DisplayString,
    rlDhcpSrvConfParamsBootfileName
       DisplayString,
    rlDhcpSrvConfParamsRoutersList
       DisplayString,
    rlDhcpSrvConfParamsTimeSrvList
       DisplayString,
    rlDhcpSrvConfParamsDnsList
       DisplayString,
    rlDhcpSrvConfParamsDomainName
       SnmpAdminString,
    rlDhcpSrvConfParamsNetbiosNameList
       DisplayString,
    rlDhcpSrvConfParamsNetbiosNodeType
       INTEGER,
    rlDhcpSrvConfParamsCommunity
       DisplayString,
    rlDhcpSrvConfParamsNmsIp
       IpAddress,
    rlDhcpSrvConfParamsOptionsList
       DisplayString,
    rlDhcpSrvConfParamsRowStatus
       RowStatus
   }

rlDhcpSrvConfParamsName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This value is a unique index for the
        entry in the rlDhcpSrvConfParamsTable."
   ::= { rlDhcpSrvConfParamsEntry 1 }

rlDhcpSrvConfParamsNextServerIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP of next server for client to use in configuration process."
    ::= { rlDhcpSrvConfParamsEntry 2 }

rlDhcpSrvConfParamsNextServerName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The mame of next server for client to use in configuration process."
    ::= { rlDhcpSrvConfParamsEntry 3 }

rlDhcpSrvConfParamsBootfileName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Name of file for client to request from next server."
    ::= { rlDhcpSrvConfParamsEntry 4 }

rlDhcpSrvConfParamsRoutersList   OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of option code 3, which defines default routers list.
        Each IP address is represented in dotted decimal notation format
        with ';' between them."
    ::= { rlDhcpSrvConfParamsEntry 5 }

rlDhcpSrvConfParamsTimeSrvList   OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of option code 4, which defines time servers list.
        Each IP address is represented in dotted decimal notation format
        with ';' between them."
    ::= { rlDhcpSrvConfParamsEntry 6 }

rlDhcpSrvConfParamsDnsList   OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of option code 6, which defines the list of DNSs.
        Each IP address is represented in dotted decimal notation format
        with ';' between them."
    ::= { rlDhcpSrvConfParamsEntry 7 }

rlDhcpSrvConfParamsDomainName OBJECT-TYPE
    SYNTAX SnmpAdminString (SIZE (0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value option code 15, which defines the domain name.."
    ::= { rlDhcpSrvConfParamsEntry 8 }

rlDhcpSrvConfParamsNetbiosNameList   OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value option code 44, which defines the list of NETBios
        Name Servers. Each IP address is represented in dotted decimal
        notation format with ';' between them."
    ::= { rlDhcpSrvConfParamsEntry 9 }

rlDhcpSrvConfParamsNetbiosNodeType   OBJECT-TYPE
    SYNTAX INTEGER {
        b-node(1),
        p-node(2),
        m-node(4),
        h-node(8)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value option code 46, which defines the NETBios node type.
        The option will be added only if rlDhcpSrvConfParamsNetbiosNameList
        is not empty."
--  DEFVAL { b-node }
    ::= { rlDhcpSrvConfParamsEntry 10 }

rlDhcpSrvConfParamsCommunity OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..32))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of site-specific option 128, which defines Community.
        The option will be added only if rlDhcpSrvConfParamsNmsIp is set."
--  DEFVAL { "public" }
    ::= { rlDhcpSrvConfParamsEntry 11 }

rlDhcpSrvConfParamsNmsIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of site-specific option 129,
        which defines IP of Network Manager."
    ::= { rlDhcpSrvConfParamsEntry 12 }

rlDhcpSrvConfParamsOptionsList   OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
         "The sequence of option segments.  Each option segment
         is represented by a triplet <code/length/value>.
         The code defines the code of each supported option.
         The length defines the length of each supported option.
         The value defines the value of the supported option.
         If there is a number of elements in the value field,
         they are divided by ','. Each element of type IP address
         in value field is represented in dotted decimal notation
         format."
    ::= { rlDhcpSrvConfParamsEntry 13 }

rlDhcpSrvConfParamsRowStatus  OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The row status variable, used according to
        row installation and removal conventions."
    ::= { rlDhcpSrvConfParamsEntry 14 }

END
