rdiscd - IPv6 Router Discovery and SLAAC Daemon
February 28, 2021 ยท View on GitHub
rdiscd is a daemon for performing IPv6 router discovery and stateless address autoconfiguration (SLAAC) in userspace. It provides greater flexibility and more functionality than the kernel's implementation. For example, rdiscd supports static interface IDs, where the advertised prefix is combined with a static suffix to form a complete address. It also supports RFC 7217 for generating semantically opaque interface IDs (aka "stable privacy addresses").
DEPENDENCIES
libndp v1.2 or higher http://libndp.org/
To build rdiscd, you need:
- GNU Make
- A C++ compiler supporting C++11 (e.g. GCC 4.7 or higher)
- Development files for libndp
BUILDING RDISCD
Run 'make' and 'make install'.
The following Makefile variables can be passed on the command line to 'make' and 'make install':
PREFIX=/path Install to given path (default: /usr/local)
ENABLE_MAN=yes|no
Whether to build/install the man page (default: yes)
ENABLE_IFUPDOWN=yes|no
Whether to install ifupdown hooks (default: no)
DESTDIR=/path Stage installed files under the given path
instead of installing directly to the filesystem
(intended for package building)
Example: make PREFIX=/usr make install PREFIX=/usr DESTDIR=/tmp/pkgroot
CURRENT STATUS
As of 2021, rdiscd is no longer maintained. The code contains basic support for autoconfiguring addresses and the default gateway, but does not support route or DNS server advertisements. The code does not contain any known bugs and worked reliably for many years. However, the author no longer uses it and provides no support for it.
DEBIAN PACKAGING
See README.Debian for instructions on building the Debian package, which integrates nicely with /etc/network/interfaces.
DOCUMENTATION
See the rdiscd(8) man page (rdiscd.8 in this repo).
CREDITS
rdiscd was originally written by Andrew Ayer
rdiscd is inspired by the userspace SLAAC implementation in NetworkManager, and some code is based on the code found therein.
rdiscd contains a SHA-256 implementation by Colin Percival.
rdiscd would not be possible without libndp, by Jiri Pirko.
LEGALESE
Copyright (C) 2014 Andrew Ayer
Licensed predominantly under the GPLv3. Also contains code licensed under more permissive GPL-compatible licenses.
rdiscd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See COPYING for details.