.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "ifupdown-executor" "7" "2024-05-06" .PP .SH NAME .PP \fB/usr/libexec/ifupdown-ng/program\fR - ifupdown executor protocol .PP .SH DESCRIPTION .PP 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.\& .PP .SH PHASES .PP Executors are run to react to nine different phases and are not required to take any specific action.\& These phases are: .PP \fBdepend\fR .RS 4 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 \fIstdout\fR.\& 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.\& .PP .RE \fBcreate\fR .RS 4 Called before \fBpre-up\fR, to explicitly allow for interface creation if necessary.\& .PP .RE \fBpre-up\fR .RS 4 Called before the interface is going to be brought up.\& .PP .RE \fBup\fR .RS 4 Called when the interface is being brought up.\& .PP .RE \fBpost-up\fR .RS 4 Called after the interface was successfully brought up.\& .PP .RE \fBpre-down\fR .RS 4 Called before the interface is going to be taken down.\& .PP .RE \fBdown\fR .RS 4 Called when the interface is being taken down.\& .PP .RE \fBpost-down\fR .RS 4 Called after the interface was successfully taken down.\& .PP .RE \fBdestroy\fR .RS 4 Called after \fBpost-down\fR to allow for explicitly destroying an interface if necessary.\& .PP .RE .SH ENVIRONMENT .PP Executors are guaranteed to run with a core set of environment variables: .PP \fBIFACE\fR .RS 4 The name of the interface being configured.\& .PP .RE \fBINTERFACES_FILE\fR .RS 4 The path to the interfaces database file being used.\& .PP .RE \fBMODE\fR .RS 4 Either \fIstart\fR, \fIstop\fR or \fIdepend\fR depending on phase.\& This environment variable is present for compatibility with legacy ifupdown scripts and should not be used in ifupdown-ng executors.\& .PP .RE \fBPHASE\fR .RS 4 The phase being executed.\& See the phases section for more information about phases.\& .PP .RE \fBVERBOSE\fR .RS 4 If present, verbose output is expected from the executor.\& .PP .RE 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 \fIbridge-ports\fR will be rewritten as \fIIF_BRIDGE_PORTS\fR.\& .PP .SH SEE ALSO .PP ifup(8) .br ifdown(8) .br interfaces(5) .PP .SH AUTHORS .PP Ariadne Conill