[avahi] avahi-autoipd

Lennart Poettering lennart at poettering.net
Sat Sep 2 09:03:26 PDT 2006


Avahi 0.6.14 will ship with its own implementation of IP4LL

Right now the code has been tested on Linux only. Dear
Solaris/FreeBSD/MacOSX porters, please start your compilers and port
this new tool to your respective platforms!

avahi-autopid currently uses the Linux specific Netlink interface for
subscribing to certain network configuration change events. This is
much more limited and different than what avahi-daemon does with
Netlink, therefore i chose to reeimplement the necessary calls and not
reuse avahi-core's netlink code. However this means that the specific
code needs to be ported to other systems in a similar way as the
original avahi-core was.

Why did we add avahi-autoipd to Avahi, although other implementations
were already available, such as Anand Kumria's "zeroconf", or "zcip"
or Arthur van Hoff's "AVH-IPv4LL.c", or GNOME's NetworkManager?

- First, it was the last component that was missing to make Avahi
  a full-fledged Zeroconf stack.

- It is one of the few free implementations that actually implements
  the spec in its entirety and passes the Bonjour compatibility suite.

- It's clearly the most powerful and secure implementation:

  - It drops priviliges
  - It chroot()s
  - It saves and restores the last used IP address to /var/lib/ to
    make sure that the IP addresses stay as stable as possible.
  - It tries to stay out of the way of the user by only configuring an
    IP address if no other routable address has been configured.
  - It has a man page!
  - It is intended to be run as plugin for the ISC dhcp client, only
    if no DHCP server is available. (the support for this is only
    enabled on Debian right now because others systems seem to lack
    the necessary hook directories for dhclient.)
  - And lots of other stuff

- It was fun to implement!

You can disable building of avahi-autoipd by passing --disable-autoipd
on the "configure" command line. In fact, it will probably fail to
build on non-Linux systems if this option is not passed to configure.

Please report back if you plan to port avahi-autoipd to a specific OS
in time for 0.6.14 (targeted for end of next week sometimes).

The code is in SVN, subdirectory "avahi-autoipd".

It is my goal to make avahi-autoipd the definitive implementation of
iPv4ll for Linux. To reach this the binary does not depend on any
avahi-specific libraries.

Have fun!


Lennart Poettering; lennart [at] poettering [dot] net
ICQ# 11060553; GPG 0x1A015CC4; http://0pointer.net/lennart/

More information about the avahi mailing list