Only /etc/hostname.athn0 contains autoconf on my X230.

When the hardware switch turned off, netstart still waits 10 seconds:

        $ ifconfig athn0
        athn0: 
flags=a48803<UP,BROADCAST,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,AUTOCONF4> 
mtu 1500
                lladdr 04:f0:21:30:37:de
                index 2 priority 4 llprio 3
                groups: wlan
                media: IEEE802.11 autoselect
                status: no network
                ieee80211: nwid ""

        # time sh /etc/netstart
            0m11.48s real     0m00.93s user     0m00.55s system

For DHCP/SLAAC to kick in, the interface must be UP and RUNNING, so this
won't exit ealier unless I turn the switch on *and* athn0 gets an IP and
default route within those ten seconds, which is quite unlikely, imho.

Make netstart wait for RUNNING interfaces only so booting in guaranteed
offline mode won't stall for nothing:

        # time sh ./netstart
            0m00.73s real     0m00.57s user     0m00.20s system

Feedback? Objection? OK?


Index: netstart
===================================================================
RCS file: /cvs/src/etc/netstart,v
retrieving revision 1.229
diff -u -p -r1.229 netstart
--- netstart    5 Nov 2022 12:06:05 -0000       1.229
+++ netstart    11 Nov 2022 16:44:44 -0000
@@ -292,7 +292,7 @@ ip6routes() {
 wait_autoconf_default() {
        local _count=0
 
-       if ifconfig | grep -q ': flags=.*<.*AUTOCONF.*>'; then
+       if ifconfig | grep -q ': flags=.*<.*RUNNING.*AUTOCONF.*>'; then
                while ((_count++ < 20)); do
                        route -n show | grep -q ^default && break
                        sleep .5

Reply via email to