{
    "mode": "man",
    "parameter": "networkd-dispatcher",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/networkd-dispatcher/8/json",
    "generated": "2026-08-17T14:27:02Z",
    "synopsis": "networkd-dispatcher [-h] [-S SCRIPTDIR] [-T] [-v] [-q]",
    "sections": {
        "NAME": {
            "content": "networkd-dispatcher - Dispatcher service for systemd-networkd connection status changes\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "networkd-dispatcher [-h] [-S SCRIPTDIR] [-T] [-v] [-q]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Dispatcher daemon for systemd-networkd connection status changes. This daemon is similar to\nNetworkManager-dispatcher, but is much more limited in the types of events it supports due to\nthe limited nature of systemd-networkd(8).\n\nDesired actions (scripts) are placed into directories that reflect systemd-networkd\noperational states under SCRIPTDIR and are executed when the daemon receives the relevant\nevent from systemd-networkd.\n\nThe daemon listens for signals from systemd-networkd over dbus, so it should be very light on\nresources (e.g. no polling). It is meant to be run as a system-wide daemon (as root). This\nallows it to be used for tasks such as starting a VPN after a connection is established.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-h, --help",
                    "content": "Print command-line syntax and program options to stdout.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "-S, --script-dir=_",
                    "content": "Location under which to look for scripts. Like the PATH environment variable, this may\ncontain multiple directories separated by : and in case multiple directories have scripts\nwith the same name, the earliest directory wins. Defaults to\n/etc/networkd-dispatcher:/usr/lib/networkd-dispatcher.\n",
                    "flag": "-S",
                    "long": "--script-dir",
                    "arg": "_"
                },
                {
                    "name": "-T, --run-startup-triggers",
                    "content": "Generate events reflecting preexisting state and behavior on startup. This can be used to\nensure that triggers are belatedly run even if networkd-dispatcher is invoked after\nsystemd-networkd has already started an interface.\n",
                    "flag": "-T",
                    "long": "--run-startup-triggers"
                },
                {
                    "name": "-v, --verbose",
                    "content": "Increase verbosity by one level. The default level is WARNING. Each use of -v will\nincrement the log level (towards INFO or DEBUG), and each use of -q will decrement it\n(towards ERROR or CRITICAL).\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-q, --quiet",
                    "content": "Decrease verbosity by one level.\n",
                    "flag": "-q",
                    "long": "--quiet"
                }
            ]
        },
        "CONFIGURATION FILES": {
            "content": "The systemd service reads /etc/default/networkd-dispatcher as an environment file for\nadditional daemon arguments.\n\nThe scripts to be run on network changes are in subdirectories routable.d/, dormant.d/,\nno-carrier.d/, off.d/, carrier.d/, degraded.d/, configured.d/, configuring.d/ inside\nSCRIPTDIR. The default value for SCRIPTDIR is\n/etc/networkd-dispatcher:/usr/lib/networkd-dispatcher.\n\nFor information about the network operational states exposed by systemd, see networkctl(1).\n",
            "subsections": []
        },
        "ENVIRONMENT": {
            "content": "Scripts are executed with some environment variables set. Some of these variables may not be\nset or may be set to an empty value, dependent upon the type of event. These can be used by\nscripts to conditionally take action based on a specific interface, state, etc.\n\n•   IFACE - interface that triggered the event\n\n•   STATE - The destination state change for which a script is currently being invoked. May\nbe any of the values listed as valid for AdministrativeState or OperationalState.\n\n•   ESSID - for wlan connections, the ESSID the device is connected to\n\n•   ADDR - the ipv4 address of the device\n\n•   IPADDRS - space-delimited string of ipv4 address(es) assigned to the device (see note\nbelow)\n\n•   IP6ADDRS - space-delimited string of ipv6 address(es) assigned to the device (see note\nbelow)\n\n•   AdministrativeState - One of pending, configuring, configured, unmanaged, failed or\nlinger.\n\n•   OperationalState - One of off, no-carrier, dormant, carrier, degraded, routable,\nconfiguring, or configured. For more information about the network operational states\nexposed by systemd, see the networkctl manpage (man networkctl).\n",
            "subsections": []
        },
        "RESOURCES": {
            "content": "GitLab: https://gitlab.com/craftyguy/networkd-dispatcher\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "systemd-networkd(8), networkctl(1)\n\n04/24/2023                       NETWORKD-DISPATCHER(8)",
            "subsections": []
        }
    },
    "summary": "networkd-dispatcher - Dispatcher service for systemd-networkd connection status changes",
    "flags": [
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "Print command-line syntax and program options to stdout."
        },
        {
            "flag": "-S",
            "long": "--script-dir",
            "arg": "_",
            "description": "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."
        },
        {
            "flag": "-T",
            "long": "--run-startup-triggers",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "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)."
        },
        {
            "flag": "-q",
            "long": "--quiet",
            "arg": null,
            "description": "Decrease verbosity by one level."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "systemd-networkd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/systemd-networkd/8/json"
        },
        {
            "name": "networkctl",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/networkctl/1/json"
        },
        {
            "name": "NETWORKD-DISPATCHER",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/NETWORKD-DISPATCHER/8/json"
        }
    ]
}