| #!/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 |