Download raw body.
installer: default to IPv6 autoconf if IPv4 is not configured
installer: default to IPv6 autoconf if IPv4 is not configured
On 2025 Nov 15 (Sat) at 20:01:03 -0800 (-0800), Andrew Hewus Fresh wrote:
:On Fri, Nov 14, 2025 at 04:14:06PM +0000, Klemens Nanni wrote:
:> When you opt out of IPv4, the only sane default for IPv6 becomes 'autoconf'
:> as we cannot magically guess an address and 'none' means no network at all,
:> which is equivalent to not configuring the interface in the first place:
:>
:> Available network interfaces are: vio0 vlan0.
:> Network interface to configure? (name, lladdr, '?', or 'done') [vio0]
:> IPv4 address for vio0? (or 'autoconf' or 'none') [autoconf] none
:> -IPv6 address for vio0? (or 'autoconf' or 'none') [none]
:> +IPv6 address for vio0? (or 'autoconf' or 'none') [autoconf]
:>
:> The diff is trivial and the result is typing convenience for installs
:> (upgrades don't run these questions) in IPv6-mostly or -only networks.
:>
:> Feedback? OK?
:
:I didn't have time to test this, but it looks OK to me and seems like a
:nice idea. I wonder if we will ever get to the point where it makes
:sense to always default this to on.
:
The vast majority of networks I connect to (home, work, conference) have
IPv6; so I would be delighted by having IPv6 autoconf as the default.
-peter
:
:> Index: install.sub
:> ===================================================================
:> RCS file: /cvs/src/distrib/miniroot/install.sub,v
:> diff -u -p -U9 -r1.1280 install.sub
:> --- install.sub 1 Nov 2025 12:54:17 -0000 1.1280
:> +++ install.sub 14 Nov 2025 15:34:26 -0000
:> @@ -1101,36 +1101,38 @@ v4_config() {
:> while :; do
:> ask_until "IPv4 address for $_if? (or 'autoconf' or 'none')" \
:> "${_addr:-autoconf}"
:> case $resp in
:> none) return
:> ;;
:> a|autoconf|dhcp)
:> dhcp_request $_if
:> echo "inet autoconf" >>$_hn
:> + USES_IPV4=true
:> return
:> ;;
:> esac
:>
:> _newaddr=$resp
:>
:> # Ask for the netmask if the user did not use CIDR notation.
:> if [[ $_newaddr == */* ]]; then
:> ifconfig $_if $_newaddr up
:> else
:> ask_until "Netmask for $_if?" "${_mask:-255.255.255.0}"
:> ifconfig $_if $_newaddr netmask $resp
:> fi
:>
:> set -- $(v4_info $_if)
:> if [[ -n $2 ]]; then
:> echo "inet $2 $3" >>$_hn
:> add_hostent "$2" "$_name"
:> + USES_IPV4=true
:> return
:> fi
:>
:> $AI && exit 1
:> done
:> }
:>
:> # Obtain and output the inet6 information related to interface $1.
:> # <flags>\n<addr> <prefixlen> <rest of inet6 line>[\n<more inet6 lines>]
:> @@ -1215,19 +1217,19 @@ v6_defroute() {
:> # unless he chooses 'autoconf'.
:> v6_config() {
:> local _if=$1 _name=$2 _hn=$3 _addr _newaddr _prefixlen
:>
:> ifconfig lo0 inet6 >/dev/null 2>&1 || return
:>
:> # Preset the default answers by preserving possibly existing
:> # configuration from previous runs.
:> set -- $(v6_info $_if)
:> - if [[ $1 == *AUTOCONF6* ]]; then
:> + if [[ $1 == *AUTOCONF6* ]] || ! $USES_IPV4; then
:> _addr=autoconf
:> elif [[ -n $2 ]]; then
:> _addr=$2
:> _prefixlen=$3
:> fi
:>
:> # Nuke existing inet6 configuration.
:> ifconfig $_if -inet6
:>
:> @@ -3657,18 +3659,19 @@ HTTP_LIST=/tmp/i/httplist
:> HTTP_SEC=/tmp/i/httpsec
:> INSTALL_METHOD=
:> NIFS=0
:> export PS1="$MODE# "
:> PUB_KEY=/etc/signify/openbsd-${VERSION}-base.pub
:> ROOTDEV=
:> ROOTDISK=
:> SETDIR="$VNAME/$ARCH"
:> UPGRADE_BSDRD=false
:> +USES_IPV4=false
:> V4_AUTOCONF=false
:> V6_AUTOCONF=false
:> WLANLIST=/tmp/i/wlanlist
:>
:> # Are we in a real release, or a snapshot? If this is a snapshot
:> # install media, default us to a snapshot directory.
:> HTTP_SETDIR=$SETDIR
:> set -- $(scan_dmesg "/^OpenBSD $VNAME\([^ ]*\).*$/s//\1/p")
:> [[ $1 == -!(stable) ]] && HTTP_SETDIR=snapshots/$ARCH
:>
:
:--
:andrew
:
:Whatever happened to the days when hacking started at the cerebral cortex
:and not the keyboard?
: -- Sid from UserFriendly.org
:
--
An exotic journey in downtown Newark is in your future.
installer: default to IPv6 autoconf if IPv4 is not configured
installer: default to IPv6 autoconf if IPv4 is not configured