[systemd-devel] [PATCH] Added UFD (Uplink failure detection) support to networkd
Alin Rauta
alin.rauta at intel.com
Fri Jan 23 09:20:29 PST 2015
Hi,
Uplink Failure Detection (UFD) is a key enhancement to networkd, that will provide support for the switch use case.
The links can be configured as uplinks or as downlinks inside an UFD group.
When all uplinks for a group are down, the failure is propagated to the downlinks, so the devices connected to them
can take a defined action. When at least one uplink become available, the daemon tries to bring the downlink ports up.
Multiple UFD groups can be configured through ".netdev" files. See below a configuration example:
[NetDev]
Name=group1
Kind=ufd
[UFDGroup]
Id=10
[UFDLink]
Name=sw0p1,sw0p2
Type=uplink
[UFDLink]
Name=sw0p3
Type=downlink
[UFDLink]
Name=sw0p4
Type=downlink
Few details on implementation:
Networkd waits until all links are enumerated (either static configured or unmanaged).
Only then it starts enumerating the groups.
"networkctl" command was also updated to support listing of ufd groups & configuration. See below a print-out:
# networkctl ufd 10
? UFD Group: 10
Config File: /etc/systemd/network/ufd_to_test.netdev
State: configured
Uplinks:
? 3: sw0p1
? 4: sw0p2
Downlinks:
? 6: sw0p4
? 5: sw0p3
Please let me know what you think.
Thanks,
Alin
Alin Rauta (1):
Added Uplink failure detection feature to networkd
Makefile.am | 4 +
man/systemd.netdev.xml | 72 +-
src/libsystemd/sd-network/sd-network.c | 117 +++
src/network/networkctl.c | 153 ++++
src/network/networkd-link.c | 35 +
src/network/networkd-manager.c | 36 +
src/network/networkd-netdev-gperf.gperf | 3 +
src/network/networkd-netdev-ufd-group.c | 298 +++++++
src/network/networkd-netdev-ufd-group.h | 85 ++
src/network/networkd-netdev.c | 36 +
src/network/networkd-netdev.h | 6 +
src/network/networkd-ufd-daemon.c | 1321 +++++++++++++++++++++++++++++++
src/network/networkd-ufd-daemon.h | 34 +
src/network/networkd.c | 7 +
src/network/networkd.h | 6 +
src/systemd/sd-network.h | 20 +
16 files changed, 2231 insertions(+), 2 deletions(-)
create mode 100644 src/network/networkd-netdev-ufd-group.c
create mode 100644 src/network/networkd-netdev-ufd-group.h
create mode 100644 src/network/networkd-ufd-daemon.c
create mode 100644 src/network/networkd-ufd-daemon.h
--
1.9.3
More information about the systemd-devel
mailing list