Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 1 | # |
| 2 | # For a description of the syntax of this configuration file, |
| 3 | # see scripts/kbuild/config-language.txt. |
| 4 | # |
| 5 | |
Denys Vlasenko | 4662de0 | 2009-12-11 02:21:10 +0100 | [diff] [blame] | 6 | config UDHCPD |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 7 | bool "udhcpd" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 8 | default y |
Denys Vlasenko | e3b1a1f | 2011-02-26 22:24:08 +0100 | [diff] [blame] | 9 | select PLATFORM_LINUX |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 10 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 11 | udhcpd is a DHCP server geared primarily toward embedded systems, |
| 12 | while striving to be fully functional and RFC compliant. |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 13 | |
Vladislav Grishenko | 5827167 | 2011-02-16 13:31:30 +0100 | [diff] [blame] | 14 | config 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 Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 19 | 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 Grishenko | 5827167 | 2011-02-16 13:31:30 +0100 | [diff] [blame] | 22 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 23 | 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 Vlasenko | c82b510 | 2007-07-01 17:05:57 +0000 | [diff] [blame] | 27 | |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 28 | config 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 Vlasenko | 84da0bf | 2008-02-20 22:29:52 +0000 | [diff] [blame] | 38 | config DHCPD_LEASES_FILE |
| 39 | string "Absolute path to lease file" |
| 40 | default "/var/lib/misc/udhcpd.leases" |
Denys Vlasenko | 4662de0 | 2009-12-11 02:21:10 +0100 | [diff] [blame] | 41 | depends on UDHCPD |
Denis Vlasenko | 84da0bf | 2008-02-20 22:29:52 +0000 | [diff] [blame] | 42 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 43 | 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 Vlasenko | 84da0bf | 2008-02-20 22:29:52 +0000 | [diff] [blame] | 45 | |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 46 | config DUMPLEASES |
Denys Vlasenko | 4eed2c6 | 2017-07-18 22:01:24 +0200 | [diff] [blame] | 47 | bool "dumpleases (6.4 kb)" |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 48 | default y |
| 49 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 50 | 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 Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 53 | |
| 54 | config DHCPRELAY |
Denys Vlasenko | 4eed2c6 | 2017-07-18 22:01:24 +0200 | [diff] [blame] | 55 | bool "dhcprelay (5.8 kb)" |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 56 | default y |
| 57 | help |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 58 | dhcprelay listens for DHCP requests on one or more interfaces |
| 59 | and forwards these requests to a different interface or DHCP |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 60 | server. |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 61 | |
Denys Vlasenko | 4662de0 | 2009-12-11 02:21:10 +0100 | [diff] [blame] | 62 | config UDHCPC |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 63 | bool "udhcpc" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 64 | default y |
Denys Vlasenko | e3b1a1f | 2011-02-26 22:24:08 +0100 | [diff] [blame] | 65 | select PLATFORM_LINUX |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 66 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 67 | udhcpc is a DHCP client geared primarily toward embedded systems, |
| 68 | while striving to be fully functional and RFC compliant. |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 69 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 70 | The udhcp client negotiates a lease with the DHCP server and |
| 71 | runs a script when a lease is obtained or lost. |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 72 | |
Denis Vlasenko | 223bc97 | 2007-11-22 00:58:49 +0000 | [diff] [blame] | 73 | config FEATURE_UDHCPC_ARPING |
Denis Vlasenko | a4a93fd | 2008-04-21 20:27:29 +0000 | [diff] [blame] | 74 | bool "Verify that the offered address is free, using ARP ping" |
Denis Vlasenko | 223bc97 | 2007-11-22 00:58:49 +0000 | [diff] [blame] | 75 | default y |
Denys Vlasenko | 4662de0 | 2009-12-11 02:21:10 +0100 | [diff] [blame] | 76 | depends on UDHCPC |
Denis Vlasenko | 223bc97 | 2007-11-22 00:58:49 +0000 | [diff] [blame] | 77 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 78 | 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 Vlasenko | 223bc97 | 2007-11-22 00:58:49 +0000 | [diff] [blame] | 82 | |
Denys Vlasenko | 85090c1 | 2014-06-16 00:17:00 +0200 | [diff] [blame] | 83 | config FEATURE_UDHCPC_SANITIZEOPT |
| 84 | bool "Do not pass malformed host and domain names" |
| 85 | default y |
| 86 | depends on UDHCPC |
| 87 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 88 | 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 Vlasenko | 85090c1 | 2014-06-16 00:17:00 +0200 | [diff] [blame] | 93 | |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 94 | config UDHCPC_DEFAULT_SCRIPT |
| 95 | string "Absolute path to config script" |
| 96 | default "/usr/share/udhcpc/default.script" |
Denys Vlasenko | 64211ce | 2018-01-16 22:23:38 +0100 | [diff] [blame] | 97 | depends on UDHCPC || UDHCPC6 |
Denys Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 98 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 99 | 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 Vlasenko | c6137ba | 2017-01-04 12:13:38 +0100 | [diff] [blame] | 102 | |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 103 | # udhcpc6 config is inserted here: |
| 104 | INSERT |
| 105 | |
| 106 | comment "Common options for DHCP applets" |
| 107 | depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY |
| 108 | |
Denis Vlasenko | d55fe3e | 2008-02-04 13:12:16 +0000 | [diff] [blame] | 109 | config FEATURE_UDHCP_PORT |
| 110 | bool "Enable '-P port' option for udhcpd and udhcpc" |
Vladislav Grishenko | 5827167 | 2011-02-16 13:31:30 +0100 | [diff] [blame] | 111 | default n |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 112 | depends on UDHCPD || UDHCPC || UDHCPC6 |
Denis Vlasenko | d55fe3e | 2008-02-04 13:12:16 +0000 | [diff] [blame] | 113 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 114 | At the cost of ~300 bytes, enables -P port option. |
| 115 | This feature is typically not needed. |
Denis Vlasenko | 223bc97 | 2007-11-22 00:58:49 +0000 | [diff] [blame] | 116 | |
Denis Vlasenko | 35a064b | 2008-11-06 00:49:59 +0000 | [diff] [blame] | 117 | config UDHCP_DEBUG |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 118 | int "Maximum verbosity level (0..9)" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 119 | default 9 |
Denys Vlasenko | 7a76eba | 2009-06-19 13:51:29 +0200 | [diff] [blame] | 120 | range 0 9 |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 121 | depends on UDHCPD || UDHCPC || UDHCPC6 || DHCPRELAY |
Mike Frysinger | 7031f62 | 2006-05-08 03:20:50 +0000 | [diff] [blame] | 122 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 123 | Verbosity can be increased with multiple -v options. |
| 124 | This option controls how high it can be cranked up. |
Denys Vlasenko | ac906fa | 2009-06-17 11:54:52 +0200 | [diff] [blame] | 125 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 126 | Bigger values result in bigger code. Levels above 1 |
| 127 | are very verbose and useful for debugging only. |
Denis Vlasenko | 5066473 | 2007-02-27 21:15:08 +0000 | [diff] [blame] | 128 | |
Denis Vlasenko | 72e7604 | 2007-11-25 03:15:24 +0000 | [diff] [blame] | 129 | config UDHCPC_SLACK_FOR_BUGGY_SERVERS |
| 130 | int "DHCP options slack buffer size" |
| 131 | default 80 |
| 132 | range 0 924 |
Denys Vlasenko | 4662de0 | 2009-12-11 02:21:10 +0100 | [diff] [blame] | 133 | depends on UDHCPD || UDHCPC |
Denis Vlasenko | 72e7604 | 2007-11-25 03:15:24 +0000 | [diff] [blame] | 134 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 135 | 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 Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 139 | servers, this may help. The upper limit (924) makes udhcpc accept |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 140 | even 1500 byte packets (maximum-sized ethernet packets). |
Denis Vlasenko | 72e7604 | 2007-11-25 03:15:24 +0000 | [diff] [blame] | 141 | |
Denys Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 142 | This option does not make udhcp[cd] emit non-standard |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 143 | sized packets. |
Denis Vlasenko | 72e7604 | 2007-11-25 03:15:24 +0000 | [diff] [blame] | 144 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 145 | 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 Vlasenko | 68b653b | 2017-07-27 10:53:09 +0200 | [diff] [blame] | 151 | |
| 152 | config 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 | |
| 161 | config 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. |