| # 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 |