blob: e5958804b8edd68e34316c43ce4d8069f2763770 [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 Vlasenko68b653b2017-07-27 10:53:09 +02007 bool "udhcpd"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +02008 default y
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +01009 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 Vlasenko4eed2c62017-07-18 22:01:24 +020047 bool "dumpleases (6.4 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 Vlasenko4eed2c62017-07-18 22:01:24 +020055 bool "dhcprelay (5.8 kb)"
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010056 default y
57 help
Denys Vlasenko68b653b2017-07-27 10:53:09 +020058 dhcprelay listens for DHCP requests on one or more interfaces
59 and forwards these requests to a different interface or DHCP
Denys Vlasenko72089cf2017-07-21 09:50:55 +020060 server.
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010061
Denys Vlasenko4662de02009-12-11 02:21:10 +010062config UDHCPC
Denys Vlasenko68b653b2017-07-27 10:53:09 +020063 bool "udhcpc"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +020064 default y
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010065 select PLATFORM_LINUX
Mike Frysinger7031f622006-05-08 03:20:50 +000066 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020067 udhcpc is a DHCP client geared primarily toward embedded systems,
68 while striving to be fully functional and RFC compliant.
Mike Frysinger7031f622006-05-08 03:20:50 +000069
Denys Vlasenko72089cf2017-07-21 09:50:55 +020070 The udhcp client negotiates a lease with the DHCP server and
71 runs a script when a lease is obtained or lost.
Mike Frysinger7031f622006-05-08 03:20:50 +000072
Denis Vlasenko223bc972007-11-22 00:58:49 +000073config FEATURE_UDHCPC_ARPING
Denis Vlasenkoa4a93fd2008-04-21 20:27:29 +000074 bool "Verify that the offered address is free, using ARP ping"
Denis Vlasenko223bc972007-11-22 00:58:49 +000075 default y
Denys Vlasenko4662de02009-12-11 02:21:10 +010076 depends on UDHCPC
Denis Vlasenko223bc972007-11-22 00:58:49 +000077 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020078 If selected, udhcpc will send ARP probes and make sure
79 the offered address is really not in use by anyone. The client
80 will DHCPDECLINE the offer if the address is in use,
81 and restart the discover process.
Denis Vlasenko223bc972007-11-22 00:58:49 +000082
Denys Vlasenko85090c12014-06-16 00:17:00 +020083config FEATURE_UDHCPC_SANITIZEOPT
84 bool "Do not pass malformed host and domain names"
85 default y
86 depends on UDHCPC
87 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020088 If selected, udhcpc will check some options (such as option 12 -
89 hostname) and if they don't look like valid hostnames
90 (for example, if they start with dash or contain spaces),
91 they will be replaced with string "bad" when exporting
92 to the environment.
Denys Vlasenko85090c12014-06-16 00:17:00 +020093
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010094config UDHCPC_DEFAULT_SCRIPT
95 string "Absolute path to config script"
96 default "/usr/share/udhcpc/default.script"
Denys Vlasenko64211ce2018-01-16 22:23:38 +010097 depends on UDHCPC || UDHCPC6
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +010098 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020099 This script is called after udhcpc receives an answer. See
100 examples/udhcp for a working example. Normally it is safe
101 to leave this untouched.
Denys Vlasenkoc6137ba2017-01-04 12:13:38 +0100102
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200103# udhcpc6 config is inserted here:
104INSERT
105
106comment "Common options for DHCP applets"
107 depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY
108
Denis Vlasenkod55fe3e2008-02-04 13:12:16 +0000109config FEATURE_UDHCP_PORT
110 bool "Enable '-P port' option for udhcpd and udhcpc"
Vladislav Grishenko58271672011-02-16 13:31:30 +0100111 default n
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200112 depends on UDHCPD || UDHCPC || UDHCPC6
Denis Vlasenkod55fe3e2008-02-04 13:12:16 +0000113 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200114 At the cost of ~300 bytes, enables -P port option.
115 This feature is typically not needed.
Denis Vlasenko223bc972007-11-22 00:58:49 +0000116
Denis Vlasenko35a064b2008-11-06 00:49:59 +0000117config UDHCP_DEBUG
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200118 int "Maximum verbosity level (0..9)"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +0200119 default 9
Denys Vlasenko7a76eba2009-06-19 13:51:29 +0200120 range 0 9
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200121 depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY
Mike Frysinger7031f622006-05-08 03:20:50 +0000122 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200123 Verbosity can be increased with multiple -v options.
124 This option controls how high it can be cranked up.
Denys Vlasenkoac906fa2009-06-17 11:54:52 +0200125
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200126 Bigger values result in bigger code. Levels above 1
127 are very verbose and useful for debugging only.
Denis Vlasenko50664732007-02-27 21:15:08 +0000128
Denis Vlasenko72e76042007-11-25 03:15:24 +0000129config UDHCPC_SLACK_FOR_BUGGY_SERVERS
130 int "DHCP options slack buffer size"
131 default 80
132 range 0 924
Denys Vlasenko4662de02009-12-11 02:21:10 +0100133 depends on UDHCPD || UDHCPC
Denis Vlasenko72e76042007-11-25 03:15:24 +0000134 help
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200135 Some buggy DHCP servers send DHCP offer packets with option
136 field larger than we expect (which might also be considered a
137 buffer overflow attempt). These packets are normally discarded.
138 If circumstances beyond your control force you to support such
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200139 servers, this may help. The upper limit (924) makes udhcpc accept
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200140 even 1500 byte packets (maximum-sized ethernet packets).
Denis Vlasenko72e76042007-11-25 03:15:24 +0000141
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200142 This option does not make udhcp[cd] emit non-standard
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200143 sized packets.
Denis Vlasenko72e76042007-11-25 03:15:24 +0000144
Denys Vlasenko72089cf2017-07-21 09:50:55 +0200145 Known buggy DHCP servers:
146 3Com OfficeConnect Remote 812 ADSL Router:
147 seems to confuse maximum allowed UDP packet size with
148 maximum size of entire IP packet, and sends packets
149 which are 28 bytes too large.
150 Seednet (ISP) VDSL: sends packets 2 bytes too large.
Denys Vlasenko68b653b2017-07-27 10:53:09 +0200151
152config FEATURE_UDHCP_RFC3397
153 bool "Support RFC 3397 domain search options"
154 default y
155 depends on UDHCPD || UDHCPC
156 help
157 If selected, both client and server will support passing of domain
158 search lists via option 119, specified in RFC 3397,
159 and SIP servers option 120, specified in RFC 3361.
160
161config FEATURE_UDHCP_8021Q
162 bool "Support 802.1Q VLAN parameters options"
163 default y
164 depends on UDHCPD || UDHCPC
165 help
166 If selected, both client and server will support passing of VLAN
167 ID and priority via options 132 and 133 as per 802.1Q.