diff options
Diffstat (limited to 'ramfs/sbin/dhcpassign.sh')
| -rwxr-xr-x | ramfs/sbin/dhcpassign.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ramfs/sbin/dhcpassign.sh b/ramfs/sbin/dhcpassign.sh new file mode 100755 index 0000000..347a37c --- /dev/null +++ b/ramfs/sbin/dhcpassign.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +RESOLV_CONF="/etc/resolv.conf" +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" + +case "$1" in + deconfig) + /sbin/ifconfig $interface 0.0.0.0 + ;; + + renew|bound) + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface ; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + echo -n > $RESOLV_CONF + [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF + for i in $dns ; do + echo nameserver $i >> $RESOLV_CONF + done + ;; +esac + +exit 0 |
