Only perform the default-route-pause if there are interfaces with the
authorderaadt <deraadt@openbsd.org>
Thu, 22 Jul 2021 18:29:47 +0000 (18:29 +0000)
committerderaadt <deraadt@openbsd.org>
Thu, 22 Jul 2021 18:29:47 +0000 (18:29 +0000)
AUTOCONF flag set.  This removes the delay for even more (strange)
static configs.
ok sthen

etc/rc

diff --git a/etc/rc b/etc/rc
index c091fe2..448cd76 100644 (file)
--- a/etc/rc
+++ b/etc/rc
@@ -1,4 +1,4 @@
-#      $OpenBSD: rc,v 1.551 2021/07/22 18:09:04 sthen Exp $
+#      $OpenBSD: rc,v 1.552 2021/07/22 18:29:47 deraadt Exp $
 
 # System startup script run by init on autoboot or after single-user.
 # Output and error are redirected to console by init, and the console is the
@@ -460,12 +460,14 @@ random_seed
 
 reorder_libs
 
-# Pause a little so at least one dynamic (slaacd or dhcpleased) config completes
-count=0
-while ((count++ < 20)); do
-       route -n show | grep -q ^default && break
-       sleep .5
-done
+# If interface autoconf exists, pause a little for at least one default route
+if ifconfig | grep -q ': flags=.*<.*AUTOCONF.*> mtu'; then
+       count=0
+       while ((count++ < 20)); do
+               route -n show | grep -q ^default && break
+               sleep .5
+       done
+fi
 
 # Load pf rules and bring up pfsync interface.
 if [[ $pf != NO ]]; then