clean up README a bit

This commit is contained in:
Ariadne Conill 2020-07-24 06:07:36 -06:00
parent 15b9059f14
commit 85cab33148
2 changed files with 17 additions and 7 deletions

View file

@ -1,16 +1,26 @@
# ifupdown-ng
This package is a work in progress implementation of the ifupdown suite. It is
intended to be largely compatible with ifupdown and ifupdown2, with some caveats:
ifupdown-ng is a network device manager that is largely compatible with Debian
ifupdown, BusyBox ifupdown and Cumulus Networks' ifupdown2.
## Dependency Resolution
![Dependency resolution example](doc/img/dependency-resolution.png)
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.
## Caveats
* ifupdown2 python plugins are not supported at this time. An executor could be
written to handle them.
* ifupdown-ng uses a SAT solver to determine interface bring-up order, like
ifupdown2. However, relationships must be explicitly defined instead of
inferred by plugins in ifupdown2. This simplifies the executors and ensures
consistent behaviour across executors.
* ifupdown-ng retains compatibility with /etc/network/if-X.d scripts, but will
prefer using executors in /usr/libexec/ifupdown-ng where appropriate.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB