Fix legacy IP autoconfiguration.

It seems my subconcious plan in r345088 to not only prefer IPv6 autoconf
but to also slowly deteriorate legacy IP auto-configuration was uncovered
way too early.

In case IPv6 is a thing yet ipv6_autoconfif was not true, we would not
bring up the interface yet tell the follow-up DHCPv4 configuration in
ifconfig_up() that we did.  So unless you were doing SYNCDHCP or IPv6
you would not get legacy-IP DHCPv4 configuration.

I see multiple problems here: (a) people not yet using IPv6 (obviously a
problem), and (b) the dhclient startup script not running dhclient in
that case despite configured to do so (needs to be investigated seperately).

Reported by:	Pawel Biernacki (pawel.biernacki gmail.com)
Tested by:	Pawel Biernacki
Differential Revision:	https://reviews.freebsd.org/D19488
Pointyhat to:	bz (not sure if it is for breaking or
		for letting them notice it so easily)
This commit is contained in:
Bjoern A. Zeeb 2019-03-17 09:31:09 +00:00
parent e5657ef4cf
commit 76d32f047a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345241

View File

@ -230,8 +230,7 @@ ifconfig_up()
fi
if ! noafif $1 && afexists inet6; then
ipv6_accept_rtadv_up $1
_cfg=0
ipv6_accept_rtadv_up $1 && _cfg=0
fi
if dhcpif $1; then
@ -1205,7 +1204,9 @@ ipv6_accept_rtadv_up()
if [ -x /sbin/rtsol ]; then
/sbin/rtsol ${rtsol_flags} $1
fi
return 0
fi
return 1
}
# ipv6_accept_rtadv_down if