]> git.proxmox.com Git - mirror_ifupdown2.git/blame - docs/source/intro.rst
.gitignore: pycharm remote execution update
[mirror_ifupdown2.git] / docs / source / intro.rst
CommitLineData
2c8c4ce7
RP
1python-ifupdown2
2----------------
3
4The python-ifupdown2 package provides the infrastructure for
5parsing /etc/network/interfaces file, loading, scheduling, template parsing,
6state management and interface dependency generation of interfaces.
ea230f73
RP
7It dynamically loads python addon modules from /usr/share/ifupdownmodules.
8To remain compatible with other packages that depend on ifupdown, it also
9executes scripts under /etc/network/. To make the transition smoother, a
10python module under /usr/share/ifupdownmodules will override a script by
11the same name under /etc/network/. ifupdown2 publishes an interface object which
12is passed to all loadble python addon modules. All lodable modules are
13called for every interface declared in the /etc/network/interfaces file.
2c8c4ce7 14
ea230f73
RP
15Addon modules are responsible for applying interface configuration.
16python-ifupdown2 ships with a set of default addon modules. Each module can
17declare its own set of supported attributes. Each module is passed the iface
18object (which is a representation of /etc/network/interfaces
19iface entry). Each module is also passed the operation to be performed.
2c8c4ce7 20
ea230f73
RP
21Example modules are /usr/share/ifupdownmodules/address.py,
22/usr/share/ifupdownmodules/bridge.py etc
23
24The order in which these modules are invoked is listed in
25/var/lib/ifupdownaddons/addons.conf. There is an ifaddon utility in the works
26to better manage the module ordering.
27
28For more details on adding an addon module, see the section on adding python
29modules. For details on how to write a module, see the api reference and
30development documentation.
2c8c4ce7 31