Simple Module DHCPServer

Package: inet.applications.dhcp
File: src/inet/applications/dhcp/DHCPServer.ned

C++ definition

Implements the DHCP server protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP.

See also: DHCPClient, DHCPMessage

DHCPServer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Parameters:

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

interface string ""

interface to listen on; can be left empty if there is only one non-loopback interface

numReservedAddresses int

number of addresses to skip at the start of the network's address range

maxNumClients int

maximum number of clients (IPs) allowed to be leased

gateway string ""

gateway to assign, if empty use the interface address

leaseTime int

lease time in seconds

startTime double 0s

application start time

Properties:

Name Value Description
display i=block/app2

Gates:

Name Direction Size Description
udpIn input
udpOut output

Source code:

//
// Implements the DHCP server protocol. DHCP (Dynamic Host Configuration Protocol),
// described in RFC 2131, provides configuration parameters to Internet hosts.
// Requires UDP.
//
// @see DHCPClient, DHCPMessage
//
simple DHCPServer like IUDPApp
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        string interface = default(""); // interface to listen on; can be left empty if there is only one non-loopback interface
        int numReservedAddresses; // number of addresses to skip at the start of the network's address range
        int maxNumClients; // maximum number of clients (IPs) allowed to be leased
        string gateway = default(""); // gateway to assign, if empty use the interface address
        int leaseTime @unit(s); // lease time in seconds
        double startTime @unit(s) = default(0s); // application start time
        @display("i=block/app2");
    gates:
        input udpIn @labels(UDPControlInfo/up);
        output udpOut @labels(UDPControlInfo/down);
}