[Olsr-users] AHCP [was: OLSR Pro Active autoconfig news?]

Juliusz Chroboczek (spam-protected)
Mon Dec 17 23:43:54 CET 2007

> I'd need a solution for assigning IP adresses automatically

If you're using IPv6, I've developed AHCP which does just that.  It's
described on


It can currently configure a network to use OLSR or Babel routing (or
static routing, if that's what you want), although the OLSR support
may have rotten somewhat now that I've switched my network to Babel.

We also use AHCP to configure a bunch of other parameters, such as the
DNS and NTP servers.  The protocol is extensible, and I'm open to
adding other stuff to it.

For IPv4, the issue is somewhat more difficult, since you cannot
reasonably assume that a randomly drawn address is unique.  My current
plan is to use AHCP to configure an IPv6 address, establish IPv6
routing, and then contact a central server over the IPv6 mesh to get
an IPv4 address, DHCP-style.

AHCP was carefully designed to be independent of the routing protocol:
it has its own flooding mechanism that doesn't rely on IP routing.
A different approach is to embed an autoconfiguration protocol within
the routing protocol, which is what Roar's ``PAA'' does.

Another difference between AHCP and PAA is that PAA performs duplicate
detection, while AHCP doesn't.  While nothing in the AHCP protocol
prevents DAD from being done, it hasn't been implemented yet, since
the IPv6 space is large enough to make duplicates extremely unlikely,
and since the Babel routing protocol is robust in the presence of
duplicate addresses[1].

Note that duplicate detection is not reliable in any case: the mesh is
not necessarily connected at the time a node's interface is configured,
and hence a duplicate can happen even though DAD has been performed at
configuration time.  The solution would be to make the autoconf protocol
listen throughout the node's life, and add some election mechanism to
resolve duplicates when they happen.  An interesting problem, but not
one that I'm going to tackle right now.



[1] If two nodes have the same router-id, one of the two will be
    invisible.  If two nodes have different router-ids but the same IP
    address, packets will be routed to the nearest one.  In no case
    will routing loops happen.

More information about the Olsr-users mailing list