From bba2e4b4de668db525cbfdfc35292e5a0b51671a Mon Sep 17 00:00:00 2001
From: Michael Biebl /run/NetworkManager/resolv.conf
device-add
+ This action is called when a connection of type generic
+ has the generic.device-handler property set. The property
+ indicates the name of a dispatcher script to be executed in directory
+ /{etc,usr/lib}/NetworkManager/dispatcher.d/device. Note
+ that differently from other actions, only one script is executed.
+
+ 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: +
+
|
+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. |
+
|
+Specifies an error message indicating the cause + of the script failure. It is ignored when the script succeeds. + |
+
+ 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. +
+device-delete
+ This action is the counterpart of device-add and
+ is called to delete the device for a generic connection. All the
+ aspects described for device-add also apply to
+ this action, with the only exception that key
+ IFINDEX 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.
+
@@ -314,6 +377,25 @@ 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.
+
+ The content of the user setting for the connection
+ being activated is also passed via environment variables. Each key is
+ stored in a variable with name CONNECTION_USER_
+ concatenated with the encoding of the key name. The encoding works as
+ follows:
+
lowercase letters become uppercase
uppercase letters are prefixed with an underscore
numbers do not change
a dot is replaced with a double underscore
any other character is encoded with an underscore followed by + its 3-digit octal representation
+ For example, key test.foo-Bar2 is stored in a variable named
+ CONNECTION_USER_TEST__FOO_055_BAR2.
+
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 -- cgit 1.3.0-6-gf8a5