public abstract class AbstractDhcpService extends java.lang.Object implements DhcpService
Client-bound messages and BOOTP messages are ignored.
| Modifier and Type | Field and Description |
|---|---|
private static org.slf4j.Logger |
LOGGER |
| Constructor and Description |
|---|
AbstractDhcpService() |
| Modifier and Type | Method and Description |
|---|---|
protected java.net.InetAddress |
determineSelectionBase(java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Determine address on which to base selection.
|
DhcpMessage |
getReplyFor(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Retrieve the reply to a given message.
|
protected DhcpMessage |
handleDISCOVER(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle DHCPDISCOVER message.
|
protected DhcpMessage |
handleINFORM(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle DHCPINFORM message.
|
protected DhcpMessage |
handleOFFER(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle DHCPOFFER message.
|
protected DhcpMessage |
handleRELEASE(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle DHCPRELEASE message.
|
protected DhcpMessage |
handleREQUEST(java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle DHCPREQUEST message.
|
protected DhcpMessage |
handleUnknownMessage(java.net.InetSocketAddress clientAddress,
DhcpMessage request)
Handle unknown DHCP message.
|
protected DhcpMessage |
initGeneralReply(java.net.InetSocketAddress localAddress,
DhcpMessage request)
Initialize a general DHCP reply message.
|
private boolean |
isZeroAddress(byte[] addr)
Check if an address is the zero-address
|
protected void |
stripUnwantedOptions(DhcpMessage request,
OptionsField options)
Strip options that the client doesn't want, if the ParameterRequestList
option is present.
|
public final DhcpMessage getReplyFor(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
DhcpServicegetReplyFor in interface DhcpServicelocalAddress - TODODhcpExceptionprotected DhcpMessage handleUnknownMessage(java.net.InetSocketAddress clientAddress, DhcpMessage request)
clientAddress - request - the request messagenull to ignore (don't reply to)
it.protected DhcpMessage handleINFORM(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
localAddress - clientAddress - request - the request messagenull to ignore (don't reply to)
it.DhcpExceptionprotected DhcpMessage handleRELEASE(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
localAddress - clientAddress - request - the request messagenull to ignore (don't reply to)
it.DhcpExceptionprotected DhcpMessage handleREQUEST(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
localAddress - clientAddress - request - the request messagenull to ignore (don't reply to)
it.DhcpExceptionprotected DhcpMessage handleDISCOVER(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
localAddress - clientAddress - request - the request messagenull to ignore (don't reply to)
it.DhcpExceptionprotected DhcpMessage handleOFFER(java.net.InetSocketAddress localAddress, java.net.InetSocketAddress clientAddress, DhcpMessage request) throws DhcpException
localAddress - clientAddress - request - the request messagenull to ignore (don't reply to)
it.DhcpExceptionprotected final DhcpMessage initGeneralReply(java.net.InetSocketAddress localAddress, DhcpMessage request)
localAddress - request - private boolean isZeroAddress(byte[] addr)
addr - protected final java.net.InetAddress determineSelectionBase(java.net.InetSocketAddress clientAddress,
DhcpMessage request)
clientAddress - request - protected final void stripUnwantedOptions(DhcpMessage request, OptionsField options)
request - options -