networkd-dispatcher(8)
======================
:doctype: manpage

NAME
----

networkd-dispatcher - Dispatcher service for systemd-networkd connection status
changes

SYNOPSIS
--------

*networkd-dispatcher* [-h] [-S 'SCRIPT_DIR'] [-T] [-v] [-q]

DESCRIPTION
-----------

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 daemon 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.

OPTIONS
-------

*-h, --help*::
  Print command-line syntax and program options to stdout.

*-S, --script-dir='SCRIPT_DIR'*::
  Location under which to look for scripts. Like the 'PATH' environment
  variable, this may contain multiple directories separated by : and
  in case multiple directories have scripts with the same name, the
  earliest directory wins. Defaults to
  /etc/networkd-dispatcher:/usr/lib/networkd-dispatcher.

*-T, --run-startup-triggers*::
  Generate events reflecting preexisting state and behavior on startup. This can
  be used to ensure that triggers are belatedly run even if networkd-dispatcher
  is invoked after systemd-networkd has already started an interface.

*-v, --verbose*::
  Increase verbosity by one level. The default level is 'WARNING'.
  Each use of '-v' will increment the log level (towards 'INFO' or 'DEBUG'), and
  each use of '-q' will decrement it (towards 'ERROR' or 'CRITICAL').

*-q, --quiet*::
  Decrease verbosity by one level.


CONFIGURATION FILES
-------------------

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/',
'configured.d/', 'configuring.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).

RESOURCES
---------

GitHub: https://github.com/craftyguy/networkd-dispatcher

SEE ALSO
--------
systemd-networkd(8), networkctl(1)
