From nobody Thu Jun 4 08:50:50 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF72P2rz6gKFp for ; Thu, 04 Jun 2026 08:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gWJF70bfCz41JD for ; Thu, 04 Jun 2026 08:50:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780563051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Opn3uy53o8ulNY1StW3cFAxvyB86JXE1vsZ9ypEdnA=; b=Sto7g9qaSqjV98mZIhtJ6MXZo81UQFdqqaR3c36OLUyAVBn1iQTnbSQMUqYT4fAd2QQ446 bS3nCKAt/QgKKDEAz4mpthB9HLm7jD7Wmw0yKv6aFWWGYn/dJd/QJS5iUB5llnxYIsRErr 1cNB9Pl5XZj7W4OjRhOpKWo8BUtlBvjvjSEFeP0TJLWzIxG0WrMFZBI6dyl454GYYywWqP HFBaAN41KY+Et+OyVRxF9dcGJRaesS+ex2NKua9Lpkn0Bs5nIB2K8Ow3Gi05SqZpRaV3Ie dUOqySBoGJVrrtet4WaZlln2gYWX31PCVlgdKeHI6doFXlR/io0nD27IXiA6ew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780563051; a=rsa-sha256; cv=none; b=RX2UaanXENM6Px+aWUzsJdYHd9Nf2ws+Y8HOjwfk0a5tcDCKzgoiJUE3H/v/M9XfoFRnXI G3yP2jQjK6yUvq8wNWUqJn3dlqoe6x1By1fkmAk5uk05mYAprcWgdpJEp13r7SFnZmBYMM IkhzsKT8nusDq4PZ4N3EIgWREty4frXlRl/58TL/FXzvE45yHhtuZHINTeCaXB6LFfFj9m FGGZGUeq1nnaoCli/C1Z7VvTCHy1iSYHR3xz7N2+z56+tF2q187KIc/uRuA72T8qEBiOcB QshVM1L0x3aRqBOrRRsz2RtYLSkAkr28ChbeVxrqGehhOLuj7mPWcVosy7VdKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780563051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Opn3uy53o8ulNY1StW3cFAxvyB86JXE1vsZ9ypEdnA=; b=oyz7zphUiz5puhJmEZWWO1+vdI4JqimRwI36W9E7+PLujrhM7A/dPuhGUUoM2TnOIzQe6f YIWsGSG9CglTMl4aHZ2n9BCdHdEKxLsmTz3boymn1P0FffrjXl/8o4W0HGp8poY50rZ0p9 q/LZT7mYew4UYLCTzfPel6CEdlTSxXm5b/03Sm8y1SYrLohUfarAoFZBicQpB+atLengCV zJbJoWLYjb4ejbQwVPEhZLgZuEX8Pv8WaOtZJBQJt83hmzt1xekfepgd1ih4e+jBL5x28l QTvqHt9jVocvSNHFOcvHkhQhzQIfLdmWigYPS2QWsmA14Mf7TjMXZDreJGjF2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gWJF670TKzrGR for ; Thu, 04 Jun 2026 08:50:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ef18 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 04 Jun 2026 08:50:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Marek Zarychta From: Pouria Mousavizadeh Tehrani Subject: git: d52de9a3448f - main - defaultroute: Fix dual-stack and IPv6-only handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d52de9a3448f0233a11e0b4de557e403ace71748 Auto-Submitted: auto-generated Date: Thu, 04 Jun 2026 08:50:50 +0000 Message-Id: <6a213c6a.3ef18.35825d74@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=d52de9a3448f0233a11e0b4de557e403ace71748 commit d52de9a3448f0233a11e0b4de557e403ace71748 Author: Marek Zarychta AuthorDate: 2026-06-04 07:58:07 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-06-04 08:49:13 +0000 defaultroute: Fix dual-stack and IPv6-only handling Since IPv6-only setups are becoming more common, and IPv6 connectivity is often sufficient for tasks such as DNS resolution and NTP time synchronization, update defaultroute rc.d script to support IPv6-only environments. Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D56797 --- libexec/rc/rc.d/defaultroute | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libexec/rc/rc.d/defaultroute b/libexec/rc/rc.d/defaultroute index b96f91d36118..5368dca4cf62 100755 --- a/libexec/rc/rc.d/defaultroute +++ b/libexec/rc/rc.d/defaultroute @@ -1,6 +1,6 @@ #!/bin/sh # -# Wait for the default route to be up if DHCP is in use +# Wait for the default route to be up if DHCPv4 or IPv6 SLAAC is in use # # @@ -22,7 +22,7 @@ defaultroute_carrier() local carrier nocarrier carrier=1 - for _if in ${dhcp_interfaces}; do + for _if in ${dhcp_interfaces} ${autoconf_interfaces}; do output=`/sbin/ifconfig ${_if}` nocarrier=`expr "${output}" : '.*[[:blank:]]status: \(no carrier\)'` [ -z "${nocarrier}" ] && carrier=0 @@ -32,22 +32,30 @@ defaultroute_carrier() defaultroute_start() { - local nl waited + local have_inet have_inet6 nl waited - afexists inet || return 0 + # Check for IPv4/IPv6 support + have_inet=0 + afexists inet && have_inet=1 + have_inet6=0 + afexists inet6 && have_inet6=1 + [ ${have_inet} -eq 0 ] && [ ${have_inet6} -eq 0 ] && return - # Return without waiting if we don't have dhcp interfaces or - # if none of the dhcp interfaces is plugged in. - dhcp_interfaces=`list_net_interfaces dhcp` - [ -z "${dhcp_interfaces}" ] && return + # Return without waiting if we don't have dhcp or autoconf interfaces, + # or if none of them is plugged in. + [ ${have_inet} -ne 0 ] && dhcp_interfaces=`list_net_interfaces dhcp` + [ ${have_inet6} -ne 0 ] && autoconf_interfaces=`list_net_interfaces autoconf` + [ -z "${dhcp_interfaces}" -a -z "${autoconf_interfaces}" ] && return # Wait for a default route waited=0 while [ ${waited} -lt ${defaultroute_delay} ]; do - defif=`get_default_if -inet` - if [ -n "${defif}" ]; then + [ ${have_inet} -ne 0 ] && defif=`get_default_if -inet` + [ ${have_inet6} -ne 0 ] && defif6=`get_default_if -inet6` + if [ -n "${defif}" ] || [ -n "${defif6}" ]; then if [ ${waited} -ne 0 ]; then - echo -n "($defif)" + [ -n "${defif}" ] && echo -n "($defif)=>inet " + [ -n "${defif6}" ] && echo -n "($defif6)=>inet6" nl=1 fi break