#! /bin/sh

# In case the interface is used as nfsroot, avoid ifup, otherwise
# nfsroot may lose response

nfsroot=0

if test "x$IFACE" = xlo ; then
	exit 0
fi

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<&-

test $nfsroot -eq 0 && exit 0

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

if test "x$IFACE" = "x$nfs_iface" ; then
    echo "ifup skipped for nfsroot interface $nfs_iface"
    exit 1
fi

exit 0
