From: Peter Hessler Subject: Re: installer: default to IPv6 autoconf if IPv4 is not configured To: Andrew Hewus Fresh Cc: Klemens Nanni , OpenBSD tech Date: Sun, 16 Nov 2025 08:52:58 +0100 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. :> # \n [\n] :> @@ -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.