diff options
Diffstat (limited to 'docs/api/html/NetworkManager-dispatcher.html')
| -rw-r--r-- | docs/api/html/NetworkManager-dispatcher.html | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/docs/api/html/NetworkManager-dispatcher.html b/docs/api/html/NetworkManager-dispatcher.html new file mode 100644 index 00000000..0343fc1b --- /dev/null +++ b/docs/api/html/NetworkManager-dispatcher.html @@ -0,0 +1,330 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>NetworkManager-dispatcher: NetworkManager Reference Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="NetworkManager Reference Manual"> +<link rel="up" href="manpages.html" title="Part I. Manual Pages"> +<link rel="prev" href="NetworkManager.conf.html" title="NetworkManager.conf"> +<link rel="next" href="nmcli.html" title="nmcli"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="manpages.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="NetworkManager.conf.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="nmcli.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="NetworkManager-dispatcher"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle">NetworkManager-dispatcher</span></h2> +<p>NetworkManager-dispatcher — Dispatch user scripts for NetworkManager</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsynopsisdiv"> +<h2>Synopsis</h2> +<div class="cmdsynopsis"><p><code class="command">NetworkManager [OPTIONS...]</code> </p></div> +</div> +<div class="refsect1"> +<a name="id-1.2.4.5"></a><h2>Description</h2> +<p> + NetworkManager-dispatcher service is a D-Bus activated service that + runs user provided scripts upon certain changes in NetworkManager. + </p> +<p> + NetworkManager-dispatcher will execute scripts in the + <code class="filename">/{etc,usr/lib}/NetworkManager/dispatcher.d</code> + directory or subdirectories in + alphabetical order in response to network events. Each script should + be a regular executable file owned by root. Furthermore, it must not be + writable by group or other, and not setuid. + </p> +<p> + Each script receives two arguments, the first being the interface name of the + device an operation just happened on, and second the action. For device actions, + the interface is the name of the kernel interface suitable for IP configuration. + Thus it is either VPN_IP_IFACE, DEVICE_IP_IFACE, or DEVICE_IFACE, as applicable. + For the <code class="varname">hostname</code> action the device name is always <code class="literal">"none"</code> + and for <code class="varname">connectivity-change</code> it is empty. + </p> +<p>The actions are:</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><code class="varname">pre-up</code></span></p></td> +<td><p>The interface is connected to the network but is not + yet fully activated. Scripts acting on this event must be placed or + symlinked into the <code class="filename">/etc/NetworkManager/dispatcher.d/pre-up.d</code> + directory, and NetworkManager will wait for script execution to complete before + indicating to applications that the interface is fully activated. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">up</code></span></p></td> +<td><p>The interface has been activated.</p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">pre-down</code></span></p></td> +<td><p>The interface will be deactivated but has not yet been + disconnected from the network. Scripts acting on this event must be + placed or symlinked into the <code class="filename">/etc/NetworkManager/dispatcher.d/pre-down.d</code> + directory, and NetworkManager will wait for script execution to complete + before disconnecting the interface from its network. Note that this + event is not emitted for forced disconnections, like when carrier is + lost or a wireless signal fades. It is only emitted when there is + an opportunity to cleanly handle a network disconnection event. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">down</code></span></p></td> +<td><p> + The interface has been deactivated. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">vpn-pre-up</code></span></p></td> +<td><p>The VPN is connected to the network but is not yet + fully activated. Scripts acting on this event must be placed or + symlinked into the <code class="filename">/etc/NetworkManager/dispatcher.d/pre-up.d</code> + directory, and NetworkManager will wait for script execution to complete before + indicating to applications that the VPN is fully activated. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">vpn-up</code></span></p></td> +<td><p> + A VPN connection has been activated. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">vpn-pre-down</code></span></p></td> +<td><p>The VPN will be deactivated but has not yet been + disconnected from the network. Scripts acting on this event must be + placed or symlinked into the <code class="filename">/etc/NetworkManager/dispatcher.d/pre-down.d</code> + directory, and NetworkManager will wait for script execution to complete + before disconnecting the VPN from its network. Note that this + event is not emitted for forced disconnections, like when the VPN + terminates unexpectedly or general connectivity is lost. It is only + emitted when there is an opportunity to cleanly handle a VPN + disconnection event. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">vpn-down</code></span></p></td> +<td><p> + A VPN connection has been deactivated. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">hostname</code></span></p></td> +<td><p> + The system hostname has been updated. Use gethostname(2) to retrieve it. + The interface name (first argument) is empty and no environment variable is + set for this action. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">dhcp4-change</code></span></p></td> +<td><p> + The DHCPv4 lease has changed (renewed, rebound, etc). + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">dhcp6-change</code></span></p></td> +<td><p> + The DHCPv6 lease has changed (renewed, rebound, etc). + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">connectivity-change</code></span></p></td> +<td><p> + The network connectivity state has changed (no connectivity, went online, etc). + </p></td> +</tr> +</tbody> +</table></div> +<p> + The environment contains more information about the interface and the connection. + The following variables are available for the use in the dispatcher scripts: + </p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><code class="varname">NM_DISPATCHER_ACTION</code></span></p></td> +<td><p> + The dispatcher action like "up" or "dhcp4-change", identical to the first + command line argument. Since NetworkManager 1.12.0. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTION_UUID</code></span></p></td> +<td><p> + The UUID of the connection profile. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTION_ID</code></span></p></td> +<td><p> + The name (ID) of the connection profile. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTION_DBUS_PATH</code></span></p></td> +<td><p> + The NetworkManager D-Bus path of the connection. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTION_FILENAME</code></span></p></td> +<td><p> + The backing file name of the connection profile (if any). + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTION_EXTERNAL</code></span></p></td> +<td><p> + If "1", this indicates that the connection describes a + network configuration created outside of NetworkManager. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">DEVICE_IFACE</code></span></p></td> +<td><p> + The interface name of the control interface of the device. + Depending on the device type, this differs from + <code class="varname">DEVICE_IP_IFACE</code>. For example for + ADSL devices, this could be 'atm0' or for WWAN devices + it might be 'ttyUSB0'. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">DEVICE_IP_IFACE</code></span></p></td> +<td><p> + The IP interface name of the device. This is the network + interface on which IP addresses and routes will be configured. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_ADDRESS_N</code></span></p></td> +<td><p> + The IPv4 address in the format "address/prefix gateway", where N is a number + from 0 to (# IPv4 addresses - 1). gateway item in this variable is deprecated, + use IP4_GATEWAY instead. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_NUM_ADDRESSES</code></span></p></td> +<td><p> + The variable contains the number of IPv4 addresses the script may expect. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_GATEWAY</code></span></p></td> +<td><p> + The gateway IPv4 address in traditional numbers-and-dots notation. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_ROUTE_N</code></span></p></td> +<td><p> + The IPv4 route in the format "address/prefix next-hop metric", where N is a number + from 0 to (# IPv4 routes - 1). + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_NUM_ROUTES</code></span></p></td> +<td><p> + The variable contains the number of IPv4 routes the script may expect. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_NAMESERVERS</code></span></p></td> +<td><p> + The variable contains a space-separated list of the DNS servers. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP4_DOMAINS</code></span></p></td> +<td><p> + The variable contains a space-separated list of the search domains. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">DHCP4_<dhcp-option-name></code></span></p></td> +<td><p> + If the connection used DHCP for address configuration, the received DHCP + configuration is passed in the environment using standard DHCP + option names, prefixed with "DHCP4_", like "DHCP4_HOST_NAME=foobar". + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">IP6_<name> and DHCP6_<name></code></span></p></td> +<td><p> + The same variables as for IPv4 are available for IPv6, but the prefixes are IP6_ + and DHCP6_ instead. + </p></td> +</tr> +<tr> +<td><p><span class="term"><code class="varname">CONNECTIVITY_STATE</code></span></p></td> +<td><p> The network connectivity state, which can + take the values defined by the NMConnectivityState type, + from the org.freedesktop.NetworkManager D-Bus API: unknown, + none, portal, limited or full. Note: this variable will only + be set for connectivity-change actions. + </p></td> +</tr> +</tbody> +</table></div> +<p> + </p> +<p> + In case of VPN, VPN_IP_IFACE is set, and IP4_*, IP6_* variables with VPN prefix are + exported too, like VPN_IP4_ADDRESS_0, VPN_IP4_NUM_ADDRESSES. + </p> +<p> + Dispatcher scripts are run one at a time, but asynchronously from the main + NetworkManager process, and will be killed if they run for too long. If your script + might take arbitrarily long to complete, you should spawn a child process and have the + parent return immediately. Scripts that are symbolic links pointing inside the + <code class="filename">/etc/NetworkManager/dispatcher.d/no-wait.d/</code> + directory are run immediately, without + waiting for the termination of previous scripts, and in parallel. Also beware that + once a script is queued, it will always be run, even if a later event renders it + obsolete. (Eg, if an interface goes up, and then back down again quickly, it is + possible that one or more "up" scripts will be run after the interface has gone down.) + </p> +</div> +<div class="refsect1"> +<a name="id-1.2.4.6"></a><h2>Bugs</h2> +<p> + Please report any bugs you find in NetworkManager at the + <a class="ulink" href="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues" target="_top">NetworkManager issue tracker</a>. + </p> +</div> +<div class="refsect1"> +<a name="id-1.2.4.7"></a><h2>See Also</h2> +<p> + <a class="ulink" href="https://networkmanager.dev" target="_top">NetworkManager home page</a>, + <a class="link" href="NetworkManager.html" title="NetworkManager"><span class="citerefentry"><span class="refentrytitle">NetworkManager</span>(8)</span></a>, + </p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.33.0</div> +</body> +</html> \ No newline at end of file |