Linux IPv6 Router Advertisement Daemon (radvd)
The router advertisement daemon (radvd) is run by Linux or BSD
systems acting as IPv6 routers. It sends Router Advertisement messages,
specified by RFC
2461, to a local Ethernet LAN periodically and when requested by a
node sending a Router Solicitation message. These messages are required
for IPv6 stateless autoconfiguration.
This release includes support for Mobile IPv6, 6to4 addressing, router
preferences and more specific routes, and
non-broadcast multiple-access links such as ISATAP. Both Linux and BSD
are supported. For more information about recent modifications, please
see the CHANGES file included with the
latest release of radvd.
Mailing Lists
There are two mailing lists for radvd:
radvd-announce-l
and
radvd-devel-l.
The first list is for announcements of new radvd releases, and the second
list is for dicussion of radvd development. Please subscribe to one or both
of these if you are interested in radvd.
Latest Update
February 4, 2008 - Version 1.1 updates:
- Implement privilege separation on Linux: a master root process
(which is able to reconfigure interfaces) and the main process.
There is '-s' toggle to keep old behaviour.
- Fix Linux retrans_timer on old kernels (newer ones have retrans_timer_ms)
- Fix stderr+syslog (default) logging on non-i386 platforms.
- Require that interface must be RUNNING instead of just UP.
Note: this could break deployments with very old kernels.
- Implement automatic interface address advertising with special prefix ::/64.
- Relax interface naming (e.g. with VLANs) requirements.
- Fix ordering of route, prefix and RDNSS options (only matters with RDNSS)
Update information for older releases is near the bottom of this
page.
Download
Several Linux vendors, including RedHat and SuSE, include radvd with
their distributions. Please check with your vendor before downloading a
package from here.
Source for radvd is available as a gzipped tar file and source RPM.
SHA1sum's are also listed below.
Older versions of radvd are still available.
Development Information
We encourage you to help with radvd development! The CVS repository
for radvd is available to anybody in several formats:
You may want to discuss development on the
radvd-devel-l
mailing list. Please consider contributing bugfixes and improvements
back to the project.
Older update information
November 1, 2006 - Version 1.0 updates:
- Fix AdvDefaultLifetime initalization, broken in 0.9.1.
- Fix STDERR+syslog logging, don't try STDERR after forking.
- Implement RDNSS draft with (non-allocated) ND type code 25.
- Redefined IgnoreIfMissing: failed interfaces are now
reinitialized by default. IgnoreIfMissing only omits warnings about these.
- Unblock SIGALRM at startup.
- Implement MAX_INITIAL_RTR_ADVERT_INTERVAL handling.
- Perform some dynamic/static code audit, fix some minor bugs and
do cleanup as a result.
January 13, 2006 - Version 0.9.1 updates:
- Clean up signed/unsigned values, add more warnings to CFLAGS
- Fix a couple of IPv6 Ready Logo Phase-2 IPv6 Core
Protocols Self Test issues
- Create a short FAQ in README file, other minor documentation updates
- Get interface MTU automatically, so that you can
use jumboframes and advertise MTU >1500
October 19, 2005 - Version 0.9 updates:
- radvdump cleaned up, only config-file syntax supported
- add NEMO Basic support (RFC3961) and fix default
HomeAgentLifetime
- more robust timer handler in case the kernel is buggy
- new default logging method "stderr_syslog";
Everything is logged on syslog, but the most important messages
(i.e., start-up failures) are also logged on stderr.
July 8, 2005 - Version 0.8 updates:
- More specific route codepoint has been changed to the official value, 24.
- Fix incorrect calculation of the 6to4 prefix on big-endian
architectures.
- Fix a multicast join issue with HUP signal on newer 2.6.12+
Linux kernels.
- Merge some MIPv6 and non-MIPv6 code, improve error messages.
- Improve slightly the error messages from config file parsing.
February 21, 2005 - Version 0.7.3 updates:
- A large number of fixes and cleanups
- Support Router Preferences and More Specific routes
- Add "IgnoreIfMissing" interface flag, to be used with
interfaces which may become available only later on
October 28, 2002 - Version 0.7.2 updates:
- add support for VLANs (from USAGI)
- make it compile better on newer NetBSD's (NetBSD)
- fix a syntax error in radvd.conf(5) sample documentation
- use IPV6_RECV{HOPLIMIT,PKTINFO} not
IPV6_{HOPLIMIT,PKTINFO} if supported
- (in Red Hat spec file) don't create radvd gid explicitly
- a lot of coding style cleanups
January 16, 2002 - Version 0.7.1 updates:
- Check that forwarding is enabled when starting radvd (helps avoid odd problems)
- Check configuration file permissions (note: in setuid operation, must not be writable by the user.group)
- Cleanups and enhancements for radvdump
- Ensure NULL-termination with strncpy even with overlong strings (non-criticals, but better safe than
sorry)
- Update config.{guess,sub} to cope with some newer architectures
- Minor fixes and cleanups
November 21, 2001 - Version 0.7.0 updates:
- Maintainership of radvd transferred from Lars Fenneberg to Nathan
Lutchansky and Pekka Savola
- Support for ISATAP and other NMBA link types
- Bug fixed concerning FreeBSD 4.4 with multiple interfaces
- A few cleanups, including a couple of possible 1-byte buffer
overflows (non-critical)
June 20, 2001 - Version 0.6.2pl4 updates:
- Set supplementary groups properly when dropping root (security)
- Do some more RFC2461 validity checks on received packets
- Rejoin all-routers multicast group if interface is cycled
- Remove provider-based addressing support, minor cleanups
April 28, 2001 - Version 0.6.2pl3 updates:
- Fixed broken 6to4 support.
- Converted to automake-based build style.
April 14, 2001 - Version 0.6.2pl2 updates:
- Now compiles on FreeBSD. (suggested by Marko Myllynen)
- Allows negative values for Home Agent Preference. (from Marko Myllynen)
- Misc bugfixes.
April 4, 2001 - Version 0.6.2pl1 contains:
- Integrated 6to4 support, to allow a prefix address to be dynamically
created from the IPv4 address of a specific interface at configuration
time. (from Nathan Lutchansky)
- The option to have radvd drop root privileges after the ICMP
socket has been opened. (from Pekka Savola)
- The option to have radvd chroot to a "safe" directory. Currently
unusable under Linux. (from Pekka Savola)
- Fixed signal handling, allowing signals to take effect immediately
rather than at the next advertisement. (from Nathan Lutchansky)
- Misc bugfixes. (from Pekka Savola)
- Configuration parser grammar cleanup. (from Nathan Lutchansky)

Last modified 2005-10-19 by psavola.