Skip to content
This repository has been archived by the owner on Feb 28, 2021. It is now read-only.
/ rdiscd Public archive

IPv6 Router Discovery and SLAAC Daemon

License

Notifications You must be signed in to change notification settings

AGWA/rdiscd

Repository files navigation

rdiscd - IPv6 Router Discovery and SLAAC Daemon
===============================================

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 <agwa at andrewayer dot name>.

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.

About

IPv6 Router Discovery and SLAAC Daemon

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published