#!/bin/sh

# In case the interface is used for nfs, skip it.
nfsroot=0
interfaces=""
exec 9<&0 < /proc/mounts
while read dev mtpt fstype rest; do
    if test $mtpt = "/" ; then
        case $fstype in
            nfs | nfs4)
                nfsroot=1
                nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'`
                break
                ;;
            *)
                ;;
        esac
    fi
done
exec 0<&9 9<&-

if [ $nfsroot -eq 0 ]; then
    interfaces="$INTERFACES"
else
    if [ -x /bin/ip -o -x /sbin/ip ] ; then
	nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'`
    fi
    for i in $INTERFACES; do
	if test "x$i" = "x$nfs_iface"; then
            echo "dhclient skipping nfsroot interface $i"
	else
	    interfaces="$interfaces $i"
	fi
    done
fi

if test "x$interfaces" != "x"; then
    /sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces
fi