diff options
Diffstat (limited to 'package/base-files-network/files/lib')
-rwxr-xr-x | package/base-files-network/files/lib/network/config.sh | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/package/base-files-network/files/lib/network/config.sh b/package/base-files-network/files/lib/network/config.sh index 74810e47d0..da45089dff 100755 --- a/package/base-files-network/files/lib/network/config.sh +++ b/package/base-files-network/files/lib/network/config.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org # DEBUG="echo" @@ -368,7 +368,9 @@ setup_interface() { dhcp) # kill running udhcpc instance local pidfile="/var/run/dhcp-${iface}.pid" - service_kill udhcpc "$pidfile" + + SERVICE_PID_FILE="$pidfile" \ + service_stop udhcpc local ipaddr netmask hostname proto1 clientid vendorid broadcast reqopts config_get ipaddr "$config" ipaddr @@ -393,7 +395,8 @@ setup_interface() { [ "$proto1" != "$proto" ] && append dhcpopts "-n -q" || append dhcpopts "-O rootpath -R &" [ "$broadcast" = 1 ] && broadcast="-O broadcast" || broadcast= - $DEBUG eval udhcpc -t 0 -i "$iface" \ + SERVICE_PID_FILE="$pidfile" \ + service_start /sbin/udhcpc -t 0 -i "$iface" \ ${ipaddr:+-r $ipaddr} \ ${hostname:+-H $hostname} \ ${clientid:+-c $clientid} \ @@ -426,8 +429,8 @@ stop_interface_dhcp() { remove_dns "$config" - local pidfile="/var/run/dhcp-${ifname}.pid" - service_kill udhcpc "$pidfile" + SERVICE_PID_FILE="/var/run/dhcp-${ifname}.pid" \ + service_stop /sbin/udhcpc uci -P /var/state revert "network.$config" } |