Tue, Aug 16, 2016 at 12:55:21PM CEST, mariusz.g.mazur(a)gmail.com wrote:
2016-08-16 11:44 GMT+02:00 Jiri Pirko <jiri(a)resnulli.us>:
> I believe you don't need delay_up. It's purpose is to workaround buggy
> drivers which reports link even in fact they still don't have it. If
> lacp reports link is up, it is up. No delay needed.
>
Oh, no, that's not my primary use case.
For an activebackup two-link config (no lacp; that's what I use on my older
systems, just with bonding), I use the updelay, because when a link with a
higher priority comes up, it'd be suicide to instantly switch to it. The
switch hasn't settled yet (especially on my older switches, which don't do
Rapid STP, a switch after a reboot can be useless for almost a minute) and
if my machines automatically switched the active link, all of my clusters
would explode. This is a valid use case for up_delay with activebackup.
But if switch assemles lacp aggregator, you can probably assume it
works.
However for a multi-lacp config, using the up_delay for the same purpose is
an ugly hack. What there should be is a setting like
runner.agg_select_delay that guarantees a link with a higher prio gets time
to settle before actually being used.
That could be implemented. Feel free to send a patch.