blob: 23e2b40d8b9d18c2657d79347c690561ccfb987c [file] [log] [blame]
Mike Frysinger7031f622006-05-08 03:20:50 +00001#
2# For a description of the syntax of this configuration file,
Kartik Agaram43b17b12018-05-31 22:15:55 -07003# see docs/Kconfig-language.txt.
Mike Frysinger7031f622006-05-08 03:20:50 +00004#
5
Denys Vlasenko4662de02009-12-11 02:21:10 +01006config UDHCPD
Denys Vlasenko83e7e132018-12-28 13:03:48 +01007 bool "udhcpd (21 kb)"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +02008 default y
Samuel Thibault77216c32022-10-16 02:04:59 +02009 select PLATFORM_LINUX
Mike Frysinger7031f622006-05-08 03:20:50 +000010 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020011 udhcpd is a DHCP server geared primarily toward embedded systems,
12 while striving to be fully functional and RFC compliant.
Mike Frysinger7031f622006-05-08 03:20:50 +000013
Vladislav Grishenko58271672011-02-16 13:31:30 +010014config FEATURE_UDHCPD_BASE_IP_ON_MAC
15 bool "Select IP address based on client MAC"
16 default n
17 depends on UDHCPD
18 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020019 If selected, udhcpd will base its selection of IP address to offer
20 on the client's hardware address. Otherwise udhcpd uses the next
21 consecutive free address.
Vladislav Grishenko58271672011-02-16 13:31:30 +010022
Denys Vlasenko72089cf2017-07-21 09:50:55 +020023 This reduces the frequency of IP address changes for clients
24 which let their lease expire, and makes consecutive DHCPOFFERS
25 for the same client to (almost always) contain the same
26 IP address.
Denis Vlasenkoc82b5102007-07-01 17:05:57 +000027
Denys Vlasenko68b653b2017-07-27 10:53:09 +020028config FEATURE_UDHCPD_WRITE_LEASES_EARLY
29 bool "Rewrite lease file at every new acknowledge"
30 default y
31 depends on UDHCPD
32 help
33 If selected, udhcpd will write a new file with leases every
34 time a new lease has been accepted, thus eliminating the need
35 to send SIGUSR1 for the initial writing or updating. Any timed
36 rewriting remains undisturbed.
37
Denis Vlasenko84da0bf2008-02-20 22:29:52 +000038config DHCPD_LEASES_FILE
39 string "Absolute path to lease file"
40 default "/var/lib/misc/udhcpd.leases"
Denys Vlasenko4662de02009-12-11 02:21:10 +010041 depends on UDHCPD
Denis Vlasenko84da0bf2008-02-20 22:29:52 +000042 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020043 udhcpd stores addresses in a lease file. This is the absolute path
44 of the file. Normally it is safe to leave it untouched.
Denis Vlasenko84da0bf2008-02-20 22:29:52 +000045
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010046config DUMPLEASES
Denys Vlasenko83e7e132018-12-28 13:03:48 +010047 bool "dumpleases (5.1 kb)"
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010048 default y
49 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020050 dumpleases displays the leases written out by the udhcpd.
51 Lease times are stored in the file by time remaining in lease, or
52 by the absolute time that it expires in seconds from epoch.
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010053
54config DHCPRELAY
Denys Vlasenko83e7e132018-12-28 13:03:48 +010055 bool "dhcprelay (5.2 kb)"
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010056 default y
Samuel Thibault77216c32022-10-16 02:04:59 +020057 select PLATFORM_LINUX
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010058 help
Denys Vlasenko68b653b2017-07-27 10:53:09 +020059 dhcprelay listens for DHCP requests on one or more interfaces
60 and forwards these requests to a different interface or DHCP
Denys Vlasenko72089cf2017-07-21 09:50:55 +020061 server.
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010062
Denys Vlasenko4662de02009-12-11 02:21:10 +010063config UDHCPC
Denys Vlasenkodf1ff102018-12-28 13:37:44 +010064 bool "udhcpc (24 kb)"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +020065 default y
Samuel Thibault77216c32022-10-16 02:04:59 +020066 select PLATFORM_LINUX
Mike Frysinger7031f622006-05-08 03:20:50 +000067 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020068 udhcpc is a DHCP client geared primarily toward embedded systems,
69 while striving to be fully functional and RFC compliant.
Mike Frysinger7031f622006-05-08 03:20:50 +000070
Denys Vlasenko72089cf2017-07-21 09:50:55 +020071 The udhcp client negotiates a lease with the DHCP server and
72 runs a script when a lease is obtained or lost.
Mike Frysinger7031f622006-05-08 03:20:50 +000073
Denis Vlasenko223bc972007-11-22 00:58:49 +000074config FEATURE_UDHCPC_ARPING
Denis Vlasenkoa4a93fd2008-04-21 20:27:29 +000075 bool "Verify that the offered address is free, using ARP ping"
Denis Vlasenko223bc972007-11-22 00:58:49 +000076 default y
Denys Vlasenko4662de02009-12-11 02:21:10 +010077 depends on UDHCPC
Denis Vlasenko223bc972007-11-22 00:58:49 +000078 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020079 If selected, udhcpc will send ARP probes and make sure
80 the offered address is really not in use by anyone. The client
81 will DHCPDECLINE the offer if the address is in use,
82 and restart the discover process.
Denis Vlasenko223bc972007-11-22 00:58:49 +000083
Denys Vlasenko85090c12014-06-16 00:17:00 +020084config FEATURE_UDHCPC_SANITIZEOPT
85 bool "Do not pass malformed host and domain names"
86 default y
87 depends on UDHCPC
88 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020089 If selected, udhcpc will check some options (such as option 12 -
90 hostname) and if they don't look like valid hostnames
91 (for example, if they start with dash or contain spaces),
92 they will be replaced with string "bad" when exporting
93 to the environment.
Denys Vlasenko85090c12014-06-16 00:17:00 +020094
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010095config UDHCPC_DEFAULT_SCRIPT
96 string "Absolute path to config script"
97 default "/usr/share/udhcpc/default.script"
Denys Vlasenko64211ce2018-01-16 22:23:38 +010098 depends on UDHCPC || UDHCPC6
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010099 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200100 This script is called after udhcpc receives an answer. See
101 examples/udhcp for a working example. Normally it is safe
102 to leave this untouched.
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +0100103
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200104# udhcpc6 config is inserted here:
105INSERT
106
107comment "Common options for DHCP applets"
108 depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY
109
Andre Kalb5f2e00f2020-05-05 18:24:25 +0200110config UDHCPC_DEFAULT_INTERFACE
111 string "Default interface name"
112 default "eth0"
113 depends on UDHCPC || UDHCPC6
114 help
115 The interface that will be used if no other interface is
116 specified on the commandline.
117
Denis Vlasenkod55fe3e2008-02-04 13:12:16 +0000118config FEATURE_UDHCP_PORT
119 bool "Enable '-P port' option for udhcpd and udhcpc"
Vladislav Grishenko58271672011-02-16 13:31:30 +0100120 default n
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200121 depends on UDHCPD || UDHCPC || UDHCPC6
Denis Vlasenkod55fe3e2008-02-04 13:12:16 +0000122 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200123 At the cost of ~300 bytes, enables -P port option.
124 This feature is typically not needed.
Denis Vlasenko223bc972007-11-22 00:58:49 +0000125
Denis Vlasenko35a064b2008-11-06 00:49:59 +0000126config UDHCP_DEBUG
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200127 int "Maximum verbosity level (0..9)"
Denys Vlasenko6eb6e6a2019-05-31 23:51:07 +0200128 default 2
Denys Vlasenko7a76eba2009-06-19 13:51:29 +0200129 range 0 9
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200130 depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY
Mike Frysinger7031f622006-05-08 03:20:50 +0000131 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200132 Verbosity can be increased with multiple -v options.
133 This option controls how high it can be cranked up.
Denys Vlasenkoac906fa2009-06-17 11:54:52 +0200134
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200135 Bigger values result in bigger code. Levels above 1
136 are very verbose and useful for debugging only.
Denis Vlasenko50664732007-02-27 21:15:08 +0000137
Denis Vlasenko72e76042007-11-25 03:15:24 +0000138config UDHCPC_SLACK_FOR_BUGGY_SERVERS
139 int "DHCP options slack buffer size"
140 default 80
141 range 0 924
Denys Vlasenko4662de02009-12-11 02:21:10 +0100142 depends on UDHCPD || UDHCPC
Denis Vlasenko72e76042007-11-25 03:15:24 +0000143 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200144 Some buggy DHCP servers send DHCP offer packets with option
145 field larger than we expect (which might also be considered a
146 buffer overflow attempt). These packets are normally discarded.
147 If circumstances beyond your control force you to support such
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200148 servers, this may help. The upper limit (924) makes udhcpc accept
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200149 even 1500 byte packets (maximum-sized ethernet packets).
Denis Vlasenko72e76042007-11-25 03:15:24 +0000150
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200151 This option does not make udhcp[cd] emit non-standard
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200152 sized packets.
Denis Vlasenko72e76042007-11-25 03:15:24 +0000153
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200154 Known buggy DHCP servers:
155 3Com OfficeConnect Remote 812 ADSL Router:
156 seems to confuse maximum allowed UDP packet size with
157 maximum size of entire IP packet, and sends packets
158 which are 28 bytes too large.
159 Seednet (ISP) VDSL: sends packets 2 bytes too large.
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200160
161config FEATURE_UDHCP_RFC3397
162 bool "Support RFC 3397 domain search options"
163 default y
164 depends on UDHCPD || UDHCPC
165 help
166 If selected, both client and server will support passing of domain
167 search lists via option 119, specified in RFC 3397,
168 and SIP servers option 120, specified in RFC 3361.
169
170config FEATURE_UDHCP_8021Q
171 bool "Support 802.1Q VLAN parameters options"
172 default y
173 depends on UDHCPD || UDHCPC
174 help
175 If selected, both client and server will support passing of VLAN
176 ID and priority via options 132 and 133 as per 802.1Q.