IPv6 DNS config daemon

Charles Musser cmusser at sonic.net
Thu Oct 22 19:57:27 PDT 2015

While experimenting with IPv6 SLAAC, I wrote a daemon that configures
a host's DNS resolver using the scheme described in RFC 6106.
FreeBSD's rtsold(1) and "radns" (in the ports collection) are two
programs that already do this. However, this one might be nice to have
in the base system. Features:

- Small, simple design: around 750 LoC in a single source file.

- Developed on DragonFly, so no portability overhead. Tested on
  FreeBSD too, so probably works on other BSDs.

- No configuration, other than command line flags for foreground
  mode and debug output.

- Data validation: Performs basic sanity checks on router
  advertisement options; Checks validity of server addresses and search
  domains; enforces system-defined size limits for lists of these

- Ran under Valgrind' memcheck (on FreeBSD) with no leaks found.

- Not entangled with rtsold(1) which need not be running and might
  not exist if the kernel took over soliciting router advertisements (as
  is now done in OpenBSD).

SLAAC is a somewhat dusty corner of IPv6 configuration, so maybe the
existing programs are good enough. This limited use-case is both an
argument for and against including a new implementation. Depending
on your tolerance/enthusiasm level, it's either "why not?" or "why

Is this something the project would want?


More information about the Users mailing list