#!/bin/sh
# Sample udhcpc renew script

RESOLV_CONF="/etc/udhcpc/resolv.conf"

[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"

/sbin/ifconfig $interface $ip $BROADCAST $NETMASK

if [ -n "$router" ]
then
	echo "deleting routers"
	while /sbin/route del default gw 0.0.0.0 dev $interface
	do :
	done

	metric=0
	for i in $router
	do
		if [ "$subnet" = "255.255.255.255" ]; then
			# special case for /32 subnets:
			# /32 instructs kernel to always use routing for all outgoing packets
			# (they can never be sent to local subnet - there is no local subnet for /32).
			# Used in datacenters, avoids the need for private ip-addresses between two hops.
			/sbin/ip route add $i dev $interface
		fi
		/sbin/route add default gw $i dev $interface metric $((metric++))
	done
fi

# Only replace resolv.conf if we have at least one DNS server
if [ -n "$dns" ]
then
	echo -n > $RESOLV_CONF
	[ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
	for i in $dns
	do
		echo adding dns $i
		echo nameserver $i >> $RESOLV_CONF
	done
fi
