[Netconf-devel] netconf 0.5
Thomas Hood
jdthood@yahoo.co.uk
Thu, 28 Apr 2005 14:22:51 +0200
With netconf 0.5 I have more or less reached my first objective which
was to write a fully functional ifupdown emulator in Python. Emulation
of ifup/ifdown is accomplished by means the Python program netconfd,
hook scripts written in sh for the particular configuration methods and
wrapper scripts for /sbin/ifup and /sbin/ifdown.
Version 0.5 differs from version 0.4 in that netconfd no longer uses
ifupdown to do configuration.
To start netconfd after installing the netconf package, open a terminal
and run it as root from the command line. I haven't implemented
daemonization yet. Debugging messages and output from child processes
will appear in the terminal.
When the netconf package is installed it diverts /sbin/ifup
and /sbin/ifdown to /lib/ifup and /lib/ifdown, putting in place of these
wrappers that will send commands to netconfd if netconfd is running. If
netconfd is not running then the wrappers will execute /lib/ifup
or /lib/ifdown. Thus, if you have a problem with netconfd then you can
simply kill it and you will get the standard ifupdown behavior instead.
Netconf's ifup and ifdown programs communicate with netconfd via D-BUS.
Unlike ifup/ifdown, netconfd is a persistent process; hence in principle
it does not need to maintain a state file (although netconfd 0.5 does
keep /etc/network/run/ifstate up to date) and in the future it can be
enhanced to do things like active interface state monitoring. It can
also be enhanced to interact with D-BUS-enabled protocol negotiation
programs.
In version 0.5 netconfd emulates ifup/ifdown as closely as possible.
There are a few known shortcomings in error and signal handling,
but under most circumstances the package ought to behave like good ol'
ifupdown.
Get the package at:
http://www.aglu.demon.nl/netconf
Python is a good language in which to carry out development. If it is
decided that netconf should completely replace ifupdown then the Python
code can be translated into C++ fairly easily, I think.
--
Thomas Hood <jdthood@yahoo.co.uk>