#783779 Fresh system interface gets allow-hotplug; doesn't wait

Package:
ifupdown
Source:
ifupdown
Description:
high level tools to configure network interfaces
Submitter:
Karl Kornel
Date:
2015-05-26 15:24:18 UTC
Severity:
normal
#783779#5
Date:
2015-04-29 23:47:44 UTC
From:
To:
Hello!

I have a system, with a third-party network card using non-free firmware, where
systemd does not wait for the interface to come up before continuing boot.

The card uses the rtl_nic/rtl8168e-2.fw firmware file from the firmware-realtek
package.  When systemd wants to start the network, this firmware file is
direct-loaded, causing the link to go down for a couple of seconds.  However,
the rest of the boot process (including DHCP, NTP, OpenAFS, etc.) is already
continuing, while the interface is still down.

I am attaching the systemd journal, from boot up to the point where all of the
network-using services are normal.  The firmware load (and issues) start around
line 1034.

#783779#10
Date:
2015-04-30 00:43:37 UTC
From:
To:
Am 30.04.2015 um 01:47 schrieb Karl Kornel:

Once /etc/init.d/networking has completed, the network is considered up.


Can you attach the output of
systemctl status networking.service
systemctl status ifup@eth0.service

(you need to run that as root).
Does it help, if you switch "allow-hotplug eth0" to "auto eth0" in
/etc/network/interfaces?

#783779#15
Date:
2015-05-06 18:08:13 UTC
From:
To:
Ah, OK.  Sorry about that!  I thought systemd had taken over that
functionality.

Attached as "networking.service-status.txt" and
"ifup@eth0.service-status.txt".

Yes it does!  If I switch to "auto eth0", then everything will correctly
wait for the network connection to come up before continuing to boot.

I have attached "post-interface-change-networking.service-status.txt" to
show the output of `systemctl status networking.service` after I changed
from "allow-hotplug eth0" to "auto eth0".

~ Karl

#783779#20
Date:
2015-05-26 05:33:31 UTC
From:
To:
Hello Karl,

Karl Kornel [2015-05-06 11:08 -0700]:
systemd side, as that's how ifupdown is specified to work.

For the Debian maintainers: Note that on Ubuntu we don't explicitly
support "allow-hotplug", as in the modern world pretty much everything
should be treated as hotpluggable. We only use "auto", fire
ifup@.service for auto interfaces, and wait for all auto interfaces at
boot (for up to 2 mins) to satisfy network-online.target. This is
simpler, more consistant, and more robust. If we want to move to this
regime in Debian as well, please let me know.

Thanks,

Martin

#783779#25
Date:
2015-05-26 15:16:55 UTC
From:
To:
reassign 783779 ifupdown
retitle 783779 Fresh system interface gets allow-hotplug; doesn't wait
for full ifup
reopen 783779
found 783779 0.7.53.1
tags 783779 jessie d-i
noowner 783779
thankyou

Since this apparently isn't an issue with systemd, I'm moving this to
ifupdown.  I hope that's the right place for it!

Tagging as jessie because I didn't see this problem in wheezy, and also
tagging as d-i because the problem occurred on a freshly-installed system.

I thought this was related to bug 766943, but that's already been closed
in an earlier version.  Maybe this is related to bug 752919 or 550014?
Unfortunately, I don't know enough to say either way.

~ Karl