diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-11-09 23:41:50 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-11-09 23:41:50 +0000 |
commit | 57ab02b754ca5ec963e78e1e2a548a88a797ae18 (patch) | |
tree | f82be871271867dc6b5b4816700ed7b1e88f67cb | |
parent | 223fdb04439ba9bccad67f2d3016067ded2a50e8 (diff) | |
download | upstream-57ab02b754ca5ec963e78e1e2a548a88a797ae18.tar.gz upstream-57ab02b754ca5ec963e78e1e2a548a88a797ae18.tar.bz2 upstream-57ab02b754ca5ec963e78e1e2a548a88a797ae18.zip |
add support for -t 0 (infinite retry) in busybox udhcpc and use it in the network scripts
SVN-Revision: 5493
-rwxr-xr-x | package/base-files/default/lib/network/config.sh | 2 | ||||
-rw-r--r-- | package/busybox/patches/240-udhcpc_retries.patch | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/package/base-files/default/lib/network/config.sh b/package/base-files/default/lib/network/config.sh index 32558de8f3..762ca8bc1e 100755 --- a/package/base-files/default/lib/network/config.sh +++ b/package/base-files/default/lib/network/config.sh @@ -143,7 +143,7 @@ setup_interface() { # don't stay running in background if dhcp is not the main proto on the interface (e.g. when using pptp) [ "$proto1" != "$proto" ] && dhcpopts="-n -q" - $DEBUG udhcpc -i "$iface" ${ipaddr:+-r $ipaddr} ${hostname:+-H $hostname} -b -p "$pidfile" ${dhcpopts:- -R &} + $DEBUG udhcpc -t 0 -i "$iface" ${ipaddr:+-r $ipaddr} ${hostname:+-H $hostname} -b -p "$pidfile" ${dhcpopts:- -R &} lock -u "/var/lock/dhcp-$iface" ;; *) diff --git a/package/busybox/patches/240-udhcpc_retries.patch b/package/busybox/patches/240-udhcpc_retries.patch new file mode 100644 index 0000000000..3142eac6e1 --- /dev/null +++ b/package/busybox/patches/240-udhcpc_retries.patch @@ -0,0 +1,21 @@ +diff -ur busybox.old/networking/udhcp/dhcpc.c busybox.dev/networking/udhcp/dhcpc.c +--- busybox.old/networking/udhcp/dhcpc.c 2006-11-10 00:17:26.000000000 +0100 ++++ busybox.dev/networking/udhcp/dhcpc.c 2006-11-10 00:17:10.000000000 +0100 +@@ -330,7 +330,7 @@ + /* timeout dropped to zero */ + switch (state) { + case INIT_SELECTING: +- if (packet_num < client_config.retries) { ++ if (!client_config.retries || (packet_num < client_config.retries)) { + if (packet_num == 0) + xid = random_xid(); + +@@ -355,7 +355,7 @@ + break; + case RENEW_REQUESTED: + case REQUESTING: +- if (packet_num < client_config.retries) { ++ if (!client_config.retries || (packet_num < client_config.retries)) { + /* send request packet */ + if (state == RENEW_REQUESTED) + send_renew(xid, server_addr, requested_ip); /* unicast */ |