mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
56 lines
2.0 KiB
ReStructuredText
56 lines
2.0 KiB
ReStructuredText
Introduction
|
|
============
|
|
ifupdown2 is a replacement for the debian network interface
|
|
management package ifupdown. It is ifupdown re-written in python. It
|
|
maintains the original ifupdown pluggable architecture and extends it further.
|
|
|
|
It comes as two packages:
|
|
* python-ifupdown2
|
|
* python-ifupdown2-addons
|
|
|
|
(Packaging may change in the future)
|
|
|
|
python-ifupdown2
|
|
----------------
|
|
|
|
The python-ifupdown2 package provides the infrastructure for
|
|
parsing /etc/network/interfaces file, loading, scheduling, template parsing,
|
|
state management and interface dependency generation of interfaces.
|
|
|
|
It dynamically loads python modules from /usr/share/ifupdownmodules (provided
|
|
by the python-ifupdown2-addons package). To remain compatible with other
|
|
packages that depend on ifupdown, it also executes scripts under /etc/network/.
|
|
To make the transition smoother, a python module under
|
|
/usr/share/ifupdownmodules will override a script by the same name under
|
|
/etc/network/.
|
|
|
|
It publishes an interface object which is passed to all loadble python
|
|
modules. For more details on adding a addon module, see the section on
|
|
adding python modules.
|
|
|
|
ifupdown2 module calls all modules for every interface declared in the
|
|
/etc/network/interfaces file.
|
|
|
|
|
|
python-ifupdown2-addons
|
|
-----------------------
|
|
|
|
The python-ifupdown2-addons package contains ifupdown2 addon modules.
|
|
|
|
addon modules are responsible for applying interface configuration.
|
|
The modules are installed under /usr/share/ifupdownmodules.
|
|
|
|
Each module can declare its own set of supported attributes. Each module
|
|
is passed the iface object (which is a representation of /etc/network/interfaces
|
|
iface entry). Each module is also passed the operation to be performed.
|
|
|
|
Example modules are /usr/share/ifupdownmodules/address.py,
|
|
/usr/share/ifupdownmodules/bridge.py etc
|
|
|
|
The order in which these modules are invoked is listed in
|
|
/var/lib/ifupdownaddons/addons.conf. There is a ifaddon utility in the works
|
|
to better manage the module ordering.
|
|
|
|
For details on how to add a module, see the api reference and development
|
|
documentation.
|