[arch-projects] [netctl][PATCH] Support dynamically appearing interfaces

Ivan Shapovalov intelfx100 at gmail.com
Fri Feb 15 10:32:35 EST 2013

On 15 February 2013 13:26:39 Thomas Bächler wrote:
> Am 15.02.2013 13:11, schrieb Jouke Witteveen:
> > On Fri, Feb 15, 2013 at 1:08 PM, Thomas Bächler <thomas at archlinux.org> 
> >> Am 15.02.2013 12:43, schrieb Jouke Witteveen:
> >>> Another option is to add everything to network.target.wants.
> >> 
> >> Nope. network.target is not started by default and is quite mysterious
> >> anyway.
> > 
> > It is perhaps more understandable if network.target just wants all
> > activated network configurations and multi-user.target wants
> > network.target.
> This isn't the case. network.target is ONLY activated when any service
> has Wants=/After=network.target to synchronize itself after the network
> start. All network services ususally have Before=network.target, without
> Wants= or Requires=. In short, network.target is only used as a
> synchronization point for services that require the network to be up.
> >>> Although
> >>> that might be a better place, it doesn't really solve the initial
> >>> problem. On the other hand: what is precisely the problem: the unit
> >>> just times out and is not supposed to block anything.
> >> 
> >> How is that related to the topic?
> > 
> > Part of the problem of Ivan Shapovalov I do not understand. If a
> > profile is enabled and the interface does not appear, this should not
> > delay anything.
> If a network interface doesn't appear and a network profile using it is
> activated, the service will wait for it until a timeout. This blocks the
> completion of multi-user.target. This likely won't be visible, but is
> undesirable.

The problem is that netctl units are Before=network.target,
so anything that is After=network.target (e. g. samba and many other services)
are delayed until the device and profile time out. So it is visible.

More information about the arch-projects mailing list