diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-11-22 23:30:57 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-11-22 23:30:57 +0000 |
commit | 59a06c71cbf7ee5ecb453bbb2e9d4c2df6f194ed (patch) | |
tree | b8c70b7085d8a3e66a6b3bf434ae1ec1ecc9f4d6 /package/base-files/files/usr/share/udhcpc | |
parent | 37362df7ea5978750f4584d2ce48623c59ef0695 (diff) | |
download | mtk-20170518-59a06c71cbf7ee5ecb453bbb2e9d4c2df6f194ed.zip mtk-20170518-59a06c71cbf7ee5ecb453bbb2e9d4c2df6f194ed.tar.gz mtk-20170518-59a06c71cbf7ee5ecb453bbb2e9d4c2df6f194ed.tar.bz2 |
rename default/ to files/
SVN-Revision: 5622
Diffstat (limited to 'package/base-files/files/usr/share/udhcpc')
-rwxr-xr-x | package/base-files/files/usr/share/udhcpc/default.script | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/package/base-files/files/usr/share/udhcpc/default.script b/package/base-files/files/usr/share/udhcpc/default.script new file mode 100755 index 0000000..53c8faf --- /dev/null +++ b/package/base-files/files/usr/share/udhcpc/default.script @@ -0,0 +1,57 @@ +#!/bin/sh +[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 +. /etc/functions.sh +include /lib/network + +RESOLV_CONF="/tmp/resolv.conf" + +hotplug_event() { + scan_interfaces + for ifc in $interfaces; do + config_get ifname $ifc ifname + [ "$ifname" = "$interface" ] || continue + + config_get proto $ifc proto + [ "$proto" = "dhcp" ] || continue + + env -i ACTION="$1" INTERFACE="$ifc" DEVICE="$ifname" PROTO=dhcp /sbin/hotplug iface + done +} + +case "$1" in + deconfig) + ifconfig $interface 0.0.0.0 + hotplug_event ifdown + ;; + renew|bound) + ifconfig $interface $ip \ + netmask ${subnet:-255.255.255.0} \ + broadcast ${broadcast:-+} + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface >&- 2>&- ; do :; done + + for i in $router ; do + echo "adding router $i" + route add default gw $i dev $interface + done + fi + + [ -n "$dns" ] && { + echo -n > $RESOLV_CONF + ${domain:+echo search $domain} >> $RESOLV_CONF + for i in $dns ; do + echo "adding dns $i" + echo "nameserver $i" >> $RESOLV_CONF + done + } + + hotplug_event ifup + + # user rules + [ -f /etc/udhcpc.user ] && . /etc/udhcpc.user + ;; +esac + +exit 0 |