ifupdown-ng/doc/ifupdown-executor.scd

92 lines
2.2 KiB
Markdown

ifupdown-executor(7)
# NAME
*/usr/libexec/ifupdown-ng/program* - ifupdown executor protocol
# DESCRIPTION
The ifupdown executors are programs that are typically installed
into the ifupdown-ng executor path. They follow a specific
protocol documented in this man page.
# PHASES
Executors are run to react to nine different phases and are not
required to take any specific action. These phases are:
*depend*
Called to determine if the executor wishes to change
the dependency graph. The executor should write a
space-delimited list of interface names it is dependent
upon to _stdout_. Those interface names will be merged
into the dependency graph. If an executor does not have
any dependencies, it may simply exit 0 without doing
anything.
*create*
Called before *pre-up*, to explicitly allow for interface
creation if necessary.
*pre-up*
Called before the interface is going to be brought up.
*up*
Called when the interface is being brought up.
*post-up*
Called after the interface was successfully brought up.
*pre-down*
Called before the interface is going to be taken down.
*down*
Called when the interface is being taken down.
*post-down*
Called after the interface was successfully taken down.
*destroy*
Called after *post-down* to allow for explicitly
destroying an interface if necessary.
# ENVIRONMENT
Executors are guaranteed to run with a core set of environment
variables:
*IFACE*
The name of the interface being configured.
*INTERFACES_FILE*
The path to the interfaces database file being used.
*MODE*
Either _start_, _stop_ or _depend_ depending on phase.
This environment variable is present for compatibility
with legacy ifupdown scripts and should not be used in
ifupdown-ng executors.
*PHASE*
The phase being executed. See the phases section for
more information about phases.
*VERBOSE*
If present, verbose output is expected from the
executor.
Additionally, the properties associated with an interface are
provided to executors. The keys are rewritten to begin with
IF_ and are capitalized with dashes converted to underscores.
For example, the property _bridge-ports_ will be rewritten as
_IF_BRIDGE_PORTS_.
# SEE ALSO
ifup(8)++
ifdown(8)++
interfaces(5)
# AUTHORS
Ariadne Conill <ariadne@dereferenced.org>