BTW, I meant to "document" how net.agent and the networking init script interact, so the next person doesn't have to figure this out.
1. /etc/init.d/networking start creates /run/network/ifstate. (it does nothing if it detects upstart is the running init.) 2. ifupdown does nothing when /run/network/ifstate is missing. 3. ifupdown -a sets up lo, even if lo is not configured in /etc/network/interfaces (see the man page of ifupdown). 4. ifupdown -a (no further args) only brings up interfaces marked as "auto" in /etc/network/interfaces. 5. /lib/udev/net.agent defers its work to [email protected] if it detects systemd is the running init. With other inits, it waits for the lo device to become not-down (usually it will become "unknown"), and then calls ifup --allow=hotplug $INTERFACE. (net.agent exits if $INTERFACE is lo or some of the common 'virtual' interface names.) 6. [email protected] pulls in networking.service (-> networking init script), and then calls ifup --allow=hotplug %i. Therefore, under sysvinit, net.agent waits (by extension of waiting for the lo device) for the networking init script to start. If one forces 'lo' to become up before that, net.agent will immediately call ifupdown, which then does nothing (because /run/network/ifstate will be absent). -- ,''`. Christian Hofstaedtler <[email protected]> : :' : Debian Developer `. `' 7D1A CFFA D9E0 806C 9C4C D392 5C13 D6DB 9305 2E03 `- -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

