97 lines
2.9 KiB
Plaintext
97 lines
2.9 KiB
Plaintext
# DHCPv4 implementation for Zephyr
|
|
|
|
# Copyright (c) 2016 Intel Corporation.
|
|
# Copyright (c) 2024 Nordic Semiconductor ASA
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config NET_DHCPV4
|
|
bool "DHCPv4 client"
|
|
select NET_MGMT
|
|
select NET_MGMT_EVENT
|
|
depends on NET_IPV4 && NET_UDP
|
|
|
|
if NET_DHCPV4
|
|
|
|
module = NET_DHCPV4
|
|
module-dep = NET_LOG
|
|
module-str = Log level for DHCPv4 client
|
|
module-help = Enable debug diagnostic from DHCPV4 client.
|
|
source "subsys/net/Kconfig.template.log_config.net"
|
|
|
|
config NET_DHCPV4_INITIAL_DELAY_MAX
|
|
int "Maximum time out for initial discover request"
|
|
depends on NET_DHCPV4
|
|
default 10
|
|
range 2 10
|
|
help
|
|
As per RFC2131 4.1.1, we wait a random period between
|
|
1 and 10 seconds before sending the initial discover.
|
|
|
|
config NET_DHCPV4_OPTION_CALLBACKS
|
|
bool "Option callbacks"
|
|
depends on NET_DHCPV4
|
|
help
|
|
If set, custom callbacks for arbitrary DHCP options
|
|
can be added. These can be used to support otherwise
|
|
DHCP options not used by the rest of the system.
|
|
|
|
config NET_DHCPV4_ACCEPT_UNICAST
|
|
bool "Accept unicast DHCPv4 traffic"
|
|
depends on NET_DHCPV4
|
|
default y
|
|
help
|
|
If set, the network stack will accept unicast DHCPv4 responses from
|
|
servers, before the assigned address is configured on the interface.
|
|
|
|
endif # NET_DHCPV4
|
|
|
|
config NET_DHCPV4_SERVER
|
|
bool "DHCPv4 server"
|
|
depends on NET_IPV4 && NET_UDP
|
|
select NET_SOCKETS
|
|
select NET_SOCKETS_SERVICE
|
|
|
|
if NET_DHCPV4_SERVER
|
|
|
|
module = NET_DHCPV4_SERVER
|
|
module-dep = NET_LOG
|
|
module-str = Log level for DHCPv4 server
|
|
module-help = Enables DHCPv4 server output debug messages
|
|
source "subsys/net/Kconfig.template.log_config.net"
|
|
|
|
config NET_DHCPV4_SERVER_INSTANCES
|
|
int "Maximum number of DHCPv4 server instances"
|
|
default 1
|
|
help
|
|
Maximum number of DHCPv4 server instances supported by the system.
|
|
Each network interface that wants to act as a DHCPv4 server requires
|
|
a separate instance.
|
|
|
|
config NET_DHCPV4_SERVER_ADDR_COUNT
|
|
int "Number of IPv4 addresses that can be assigned by the server"
|
|
default 4
|
|
help
|
|
Maximum number of IPv4 addresses that can be assigned by the DHCPv4
|
|
server instance. The base IPv4 address in the address pool is provided
|
|
at runtime, during server initialization. Consecutive addresses in the
|
|
pool have the lowest address octet incremented.
|
|
|
|
config NET_DHCPV4_SERVER_ADDR_LEASE_TIME
|
|
int "Lease time for IPv4 addresses assigned by the server (seconds)"
|
|
default 86400
|
|
help
|
|
Lease time in seconds for IPv4 addresses assigned by the server.
|
|
The lease time determines when the IPv4 address lease expires if the
|
|
client does not renew it.
|
|
|
|
config NET_DHCPV4_SERVER_ICMP_PROBE_TIMEOUT
|
|
int "Timeout for ICMP probes sent by the server (miliseconds)"
|
|
default 1000
|
|
help
|
|
DHCPv4 server will probe the offered IP address (send ICMP echo
|
|
request) and wait for the time specific by this config before offering
|
|
the address. If set to 0, ICMP probing will be disabled.
|
|
|
|
endif # NET_DHCPV4_SERVER
|