Dispatcher daemon for systemd-networkd connection status changes. This daemon is similar to NetworkManager-dispatcher, but is much more limited in the types of events it supports due to the limited nature of systemd-networkd(8).
Desired actions (scripts) are placed into directories that reflect systemd-networkd operational states under SCRIPT_DIR and are executed when the daemon receives the relevant event from systemd-networkd.
The deamon listens for signals from systemd-networkd over dbus, so it should be very light on resources (e.g. no polling). It is meant to be run as a system-wide daemon (as root). This allows it to be used for tasks such as starting a VPN after a connection is established.
The systemd service reads /etc/default/networkd-dispatcher as an environment file for additional daemon arguments.
The scripts to be run on network changes are in subdirectories routable.d/, dormant.d/, no-carrier.d/, off.d/, carrier.d/, degraded.d/ inside SCRIPT_DIR. The default value for SCRIPT_DIR is /etc/networkd-dispatcher:/usr/lib/networkd-dispatcher.
For information about the network operational states exposed by systemd, see networkctl(1).