Revert "dhclient: not always skip the nfsroot interface"

This reverts commit[27aec88 dhclient: not always skip
the nfsroot interface] which used to address the IP
address renew issue when boot a system in a nfsroot fs
and altogether boot with ip=dhcp.

But reported by some tester, the above commit introduces
below issue when run ltp test on a nfsroot system which
boot with ip=dhcp:
nfs: server 192.168.100.1 not responding, still trying
nfs: server 192.168.100.1 not responding, still trying
[snip]

So revert the above commit now to avoid blocking test.

(From OE-Core rev: 5c172e0e8f8d02fe1dacec9d3574671baf9ad075)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mingli Yu
2020-04-07 16:38:58 +08:00
committed by Richard Purdie
parent ad030e8ff0
commit 3e78dc11c1

View File

@@ -1,19 +1,5 @@
#!/bin/sh
# Add an initial /var/lib/dhcp/dhclient.leases to make
# sure the IP which dhclient try to renew is the same
# with the IP which kernel got from dhcp server during
# boot
update_dhclient_leases()
{
local addr=$1
local interface=$2
echo "lease {" >> /var/lib/dhcp/dhclient.leases
echo " interface \"${addr}\";" >> /var/lib/dhcp/dhclient.leases
echo " fixed-address ${interface:0:-3};" >> /var/lib/dhcp/dhclient.leases
echo "}" >> /var/lib/dhcp/dhclient.leases
}
# In case the interface is used for nfs, skip it.
nfsroot=0
interfaces=""
@@ -33,7 +19,6 @@ while read dev mtpt fstype rest; do
done
exec 0<&9 9<&-
if [ $nfsroot -eq 0 ]; then
interfaces="$INTERFACES"
else
@@ -42,16 +27,7 @@ else
fi
for i in $INTERFACES; do
if test "x$i" = "x$nfs_iface"; then
interface_addr=`ip -4 address show $nfs_iface | grep 'inet '|sed 's/.*inet \(\S\+\).*/\1/'`
if [ "x$interface_addr" != "x" ] && cat /proc/cmdline | grep "ip=dhcp" > /dev/null ; then
# use to renew lease if needed
interfaces="$interfaces $i"
# use to update /var/lib/dhcp/dhclient.leases if needed
# when the ip got by kernel, we need use dhclient to renew the ip
update_dhclient_leases $nfs_iface $interface_addr
else
echo "dhclient skipping nfsroot interface $i"
fi
echo "dhclient skipping nfsroot interface $i"
else
interfaces="$interfaces $i"
fi