#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

INSERT

config UDHCPD
	bool "udhcp server (udhcpd)"
	default y
	select PLATFORM_LINUX
	help
	  udhcpd is a DHCP server geared primarily toward embedded systems,
	  while striving to be fully functional and RFC compliant.

config DHCPRELAY
	bool "dhcprelay"
	default y
	depends on UDHCPD
	help
	  dhcprelay listens for dhcp requests on one or more interfaces
	  and forwards these requests to a different interface or dhcp
	  server.

config DUMPLEASES
	bool "Lease display utility (dumpleases)"
	default y
	depends on UDHCPD
	help
	  dumpleases displays the leases written out by the udhcpd server.
	  Lease times are stored in the file by time remaining in lease, or
	  by the absolute time that it expires in seconds from epoch.

config FEATURE_UDHCPD_WRITE_LEASES_EARLY
	bool "Rewrite the lease file at every new acknowledge"
	default y
	depends on UDHCPD
	help
	  If selected, udhcpd will write a new file with leases every
	  time a new lease has been accepted, thus eliminating the need
	  to send SIGUSR1 for the initial writing or updating. Any timed
	  rewriting remains undisturbed.

config FEATURE_UDHCPD_BASE_IP_ON_MAC
	bool "Select IP address based on client MAC"
	default n
	depends on UDHCPD
	help
	  If selected, udhcpd will base its selection of IP address to offer
	  on the client's hardware address. Otherwise udhcpd uses the next
	  consecutive free address.

	  This reduces the frequency of IP address changes for clients
	  which let their lease expire, and makes consecutive DHCPOFFERS
	  for the same client to (almost always) contain the same
	  IP address.

config DHCPD_LEASES_FILE
	string "Absolute path to lease file"
	default "/var/lib/misc/udhcpd.leases"
	depends on UDHCPD
	help
	  udhcpd stores addresses in a lease file. This is the absolute path
	  of the file. Normally it is safe to leave it untouched.

config UDHCPC
	bool "udhcp client (udhcpc)"
	default y
	select PLATFORM_LINUX
	help
	  udhcpc is a DHCP client geared primarily toward embedded systems,
	  while striving to be fully functional and RFC compliant.

	  The udhcp client negotiates a lease with the DHCP server and
	  runs a script when a lease is obtained or lost.

config FEATURE_UDHCPC_ARPING
	bool "Verify that the offered address is free, using ARP ping"
	default y
	depends on UDHCPC
	help
	  If selected, udhcpc will send ARP probes and make sure
	  the offered address is really not in use by anyone. The client
	  will DHCPDECLINE the offer if the address is in use,
	  and restart the discover process.

config FEATURE_UDHCPC_SANITIZEOPT
	bool "Do not pass malformed host and domain names"
	default y
	depends on UDHCPC
	help
	  If selected, udhcpc will check some options (such as option 12 -
	  hostname) and if they don't look like valid hostnames
	  (for example, if they start with dash or contain spaces),
	  they will be replaced with string "bad" when exporting
	  to the environment.

config FEATURE_UDHCP_PORT
	bool "Enable '-P port' option for udhcpd and udhcpc"
	default n
	depends on UDHCPD || UDHCPC
	help
	  At the cost of ~300 bytes, enables -P port option.
	  This feature is typically not needed.

config UDHCP_DEBUG
	int "Maximum verbosity level for udhcp applets (0..9)"
	default 9
	range 0 9
	depends on UDHCPD || UDHCPC || DHCPRELAY
	help
	  Verbosity can be increased with multiple -v options.
	  This option controls how high it can be cranked up.

	  Bigger values result in bigger code. Levels above 1
	  are very verbose and useful for debugging only.

config FEATURE_UDHCP_RFC3397
	bool "Support for RFC3397 domain search (experimental)"
	default y
	depends on UDHCPD || UDHCPC
	help
	  If selected, both client and server will support passing of domain
	  search lists via option 119, specified in RFC 3397,
	  and SIP servers option 120, specified in RFC 3361.

config FEATURE_UDHCP_8021Q
	bool "Support for 802.1Q VLAN parameters"
	default y
	depends on UDHCPD || UDHCPC
	help
	  If selected, both client and server will support passing of VLAN
	  ID and priority via options 132 and 133 as per 802.1Q.

config UDHCPC_DEFAULT_SCRIPT
	string "Absolute path to config script"
	default "/usr/share/udhcpc/default.script"
	depends on UDHCPC
	help
	  This script is called after udhcpc receives an answer. See
	  examples/udhcp for a working example. Normally it is safe
	  to leave this untouched.

config UDHCPC_SLACK_FOR_BUGGY_SERVERS
	int "DHCP options slack buffer size"
	default 80
	range 0 924
	depends on UDHCPD || UDHCPC
	help
	  Some buggy DHCP servers send DHCP offer packets with option
	  field larger than we expect (which might also be considered a
	  buffer overflow attempt). These packets are normally discarded.
	  If circumstances beyond your control force you to support such
	  servers, this may help. The upper limit (924) makes dhcpc accept
	  even 1500 byte packets (maximum-sized ethernet packets).

	  This option does not make dhcp[cd] emit non-standard
	  sized packets.

	  Known buggy DHCP servers:
	  3Com OfficeConnect Remote 812 ADSL Router:
	    seems to confuse maximum allowed UDP packet size with
	    maximum size of entire IP packet, and sends packets which are
	    28 bytes too large.
	  Seednet (ISP) VDSL: sends packets 2 bytes too large.
