On Tue, Jun 16, 2015 at 03:40:04PM +0200, Guus Sliepen wrote:
> But is it just ifup <iface1..N> running in parallel, or is there also an
> ifup -a running at the same time?

According to my observations there is a single ifup <iface> call for
each interface and additionally there is a ifup -a called from another
script.
> 
> > > [per-interface lockfiles]
> > 
> > Is this implementation for detecting deadlocks available anywhere for
> > examination? The mechanism I implemented takes care of deadlocks by
> > enforcing consistent order of interface locking and disables further
> > locking in recurrent ifupdown invocations with an env variable.
> 
> The implementation can be found in the ifupdown git repository:
> 
> https://anonscm.debian.org/git/collab-maint/ifupdown.git
> 
> Checkout the "concurrency" branch. Note that it only detects deadlocks
> when one outer invocation of ifup or ifdown recursively calls itself
> (ie, ifup A -> ifup B -> ifup A). It does not handle the situation when
> two simultaneous invocations on different interfaces recursively call
> eachother (ie, ifup A -> ifup B at the same time as ifup B -> ifup A).
> But it does do proper locking of an interface for the whole time it is
> being configured, unlike the older versions of ifupdown which really
> allowed two simultaneous invocations of "ifup A" to be run.

Thank you, I will take a look at the code.

> Hm, looking at the code I don't think so, since a VLAN interface still
> runs "ip link set dev bondX up", which may mess with the
> if-pre-up.d/ifenslave script. I'll do some tests with the concurrency
> branch and VLANs on bonded interfaces to see how well that copes with
> it.

I will appreciate sharing the results of your tests.
> 
> -- 
> Met vriendelijke groet / with kind regards,
>       Guus Sliepen <[email protected]>

Thanks!
Dariusz

Attachment: signature.asc
Description: Digital signature

Reply via email to