diff options
Diffstat (limited to 'docs/api/html/NetworkManager-dispatcher.html')
| -rw-r--r-- | docs/api/html/NetworkManager-dispatcher.html | 430 |
1 files changed, 0 insertions, 430 deletions
diff --git a/docs/api/html/NetworkManager-dispatcher.html b/docs/api/html/NetworkManager-dispatcher.html deleted file mode 100644 index 47286d32..00000000 --- a/docs/api/html/NetworkManager-dispatcher.html +++ /dev/null @@ -1,430 +0,0 @@ -<!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="NetworkManager-wait-online.service.html" title="NetworkManager-wait-online.service"> -<meta name="generator" content="GTK-Doc V1.34.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="NetworkManager-wait-online.service.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>. For <code class="varname">connectivity-change</code> and - <code class="varname">dns-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> -<tr> -<td><p><span class="term"><code class="varname">reapply</code></span></p></td> -<td><p> - The connection was reapplied on the device. - </p></td> -</tr> -<tr> -<td><p><span class="term"><code class="varname">dns-change</code></span></p></td> -<td><p> - The DNS configuration has changed. This action is raised even if - NetworkManager is configured to not manage resolv.conf (for example, - via dns=none). In such case, the dispatch script can discover the - DNS configuration provided by currently active connections by - looking at file <code class="filename">/run/NetworkManager/resolv.conf</code> - </p></td> -</tr> -<tr> -<td><p><span class="term"><code class="varname">device-add</code></span></p></td> -<td> -<p> - This action is called when a connection of type <code class="literal">generic</code> - has the <code class="literal">generic.device-handler</code> property set. The property - indicates the name of a dispatcher script to be executed in directory - <code class="filename">/{etc,usr/lib}/NetworkManager/dispatcher.d/device</code>. Note - that differently from other actions, only one script is executed. - </p> -<p> - The script needs to perform any action needed to create the device - for the generic connection. On successful termination, the script - returns zero. Otherwise, it returns a non-zero value to indicate an - error. The script can return values to NetworkManager by writing to - standard output; each line should contain a key name followed by the - equal sign '=' and a key value. The keys understood at the moment - 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">IFINDEX</code></span></p></td> -<td><p> Indicates the interface index of the interface - created by the script. This key is required when the script - succeeds; if it is not set, the activation will fail. The key is - ignored in case of script failure. </p></td> -</tr> -<tr> -<td><p><span class="term"><code class="varname">ERROR</code></span></p></td> -<td><p> Specifies an error message indicating the cause - of the script failure. It is ignored when the script succeeds. - </p></td> -</tr> -</tbody> -</table></div> -<p> - Since the dispatcher service captures stdout for parsing those keys, - anything written to stdout will not appear in the dispatcher service - journal log. Use stderr if you want to print messages to the journal - (for example, for debugging). Only the first 8KiB of stdout are - considered and among those, only the first 64 lines; the rest is - ignored. - </p> -</td> -</tr> -<tr> -<td><p><span class="term"><code class="varname">device-delete</code></span></p></td> -<td><p> - This action is the counterpart of <code class="literal">device-add</code> and - is called to delete the device for a generic connection. All the - aspects described for <code class="literal">device-add</code> also apply to - this action, with the only exception that key - <code class="varname">IFINDEX</code> is ignored. It is not necessary to delete - the kernel link in the handler because NetworkManager already does - that; therefore the action is useful for any additional cleanup - needed. - </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: <code class="literal">UNKNOWN</code>, - <code class="literal">NONE</code>, <code class="literal">PORTAL</code>, <code class="literal">LIMITED</code> - or <code class="literal">FULL</code>. 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> - The content of the <code class="literal">user</code> setting for the connection - being activated is also passed via environment variables. Each key is - stored in a variable with name <code class="literal">CONNECTION_USER_</code> - concatenated with the encoding of the key name. The encoding works as - follows: - </p> -<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> -<li class="listitem"><p>lowercase letters become uppercase</p></li> -<li class="listitem"><p>uppercase letters are prefixed with an underscore</p></li> -<li class="listitem"><p>numbers do not change</p></li> -<li class="listitem"><p>a dot is replaced with a double underscore</p></li> -<li class="listitem"><p>any other character is encoded with an underscore followed by - its 3-digit octal representation</p></li> -</ul></div> -<p> - For example, key <code class="literal">test.foo-Bar2</code> is stored in a variable named - <code class="literal">CONNECTION_USER_TEST__FOO_055_BAR2</code>. - </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.34.0</div> -</body> -</html> \ No newline at end of file |