2020-07-18 11:15:10 +00:00
|
|
|
# ifupdown-ng
|
|
|
|
|
2020-07-24 12:07:36 +00:00
|
|
|
ifupdown-ng is a network device manager that is largely compatible with Debian
|
|
|
|
ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.
|
|
|
|
|
|
|
|
## Dependency Resolution
|
|
|
|
|
2020-07-24 12:13:43 +00:00
|
|
|
<img alt="Dependency resolution example" src="doc/img/dependency-resolution.png" style="float: left">
|
2020-07-24 12:07:36 +00:00
|
|
|
|
|
|
|
ifupdown-ng uses a dependency resolver to determine interface bring-up order
|
|
|
|
in a deterministic way. To use this feature, you must declare relationships
|
|
|
|
between interfaces with the `requires` keyword. This keeps the implementation
|
|
|
|
efficient. For convenience, the `requires` keyword is exported to executors
|
|
|
|
as the `IF_REQUIRES` environment variable.
|
|
|
|
|
|
|
|
For compatibility with some legacy ifupdown executors, we also provide the
|
|
|
|
`requires` keyword under other environment variables in some cases.
|
|
|
|
|
2020-07-24 12:13:01 +00:00
|
|
|
<div style="clear: both"></div>
|
|
|
|
|
2020-07-24 12:07:36 +00:00
|
|
|
## Caveats
|
2020-07-18 11:15:10 +00:00
|
|
|
|
|
|
|
* ifupdown2 python plugins are not supported at this time. An executor could be
|
|
|
|
written to handle them.
|
|
|
|
|
|
|
|
* ifupdown-ng retains compatibility with /etc/network/if-X.d scripts, but will
|
|
|
|
prefer using executors in /usr/libexec/ifupdown-ng where appropriate.
|
|
|
|
|
|
|
|
This package is planned to replace BusyBox ifupdown in Alpine at some point in
|
|
|
|
the future.
|