[systemd-devel] [PATCH] Added UFD (Uplink failure detection) support to networkd

Rauta, Alin alin.rauta at intel.com
Thu Jan 29 06:05:10 PST 2015

What if we don't use the "*" for now and document "BindCarrier" accordingly to be a list of port names and no wildcard ?
Then, if it's the case we can add such "*" support for "BindCarrier" and think about all those corner cases ?


-----Original Message-----
From: Andrei Borzenkov [mailto:arvidjaar at gmail.com] 
Sent: Thursday, January 29, 2015 12:20 PM
To: Lennart Poettering
Cc: Rauta, Alin; Kinsella, Ray; systemd Mailing List
Subject: Re: [systemd-devel] [PATCH] Added UFD (Uplink failure detection) support to networkd

On Wed, Jan 28, 2015 at 3:40 PM, Lennart Poettering <lennart at poettering.net> wrote:
> On Wed, 28.01.15 10:13, Rauta, Alin (alin.rauta at intel.com) wrote:
>> Lennart, on a switch I should be able to configure more than one UFD 
>> group.
> What precisely does this mean? WOuld those groups be orthogonal?
> I really would like to avoid introdcuing the "tags" concept for now. 
> Would a solution where you give the uplinks appropriate names (like 
> "uplink0", "uplinkXYZ", "uplink_waldo" and so on) suffice, when you 
> can then refer to them in a .network file you apply to the downlinks 
> as "BindCarrier=uplink*"?

This has interesting corner case. Let's say you have one interface
uplink0 and one interface downstream0 that has BindCarrier=uplink*. So we bind downstream0 to uplink0 on startup. Later (online) we add second interface uplink1 and downstream1 which also has BindCarrier=uplink*. But now this one is suddenly bound to *two* interfaces instead of one; so they both behave differently.

Could also happen if interface fails on startup and is hotswaped or otherwise repaired replaced later.

As such concept of "uplink group" abstracts away direct connection between down- and upstream. Each operation would then implicitly iterate over interfaces in group; when new interface is added, it provides natural place to adjust group monitoring (like set watch for it etc). Not so easy with your proposal.

> BindCarrier= would take a list of interface names, possibly with 
> globs. If you want to up and down a link "foo" if at least one of the 
> links "bar", "quux", "piep", "miau1", "miau2" are up, you could write 
> this as "BindCarrier=bar quux piep miau*".
> What would introducing the "tag" concept give you beyond this very 
> simple schreme described above?
> Lennart
> --
> Lennart Poettering, Red Hat
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel

More information about the systemd-devel mailing list