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>