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

Holger Winkelmann [TP] hw at travelping.com
Fri Jan 23 09:45:31 PST 2015


HI,

While reading this I'm just thinking about RFC5880 ff. BFD support. Anybody in the
networks universe already thinking about this? 

Holger

----- On 23 Jan, 2015, at 18:20, Alin Rauta alin.rauta at intel.com wrote:

> 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
> 
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel

-- 
Holger Winkelmann


More information about the systemd-devel mailing list