radvd - router advertisement daemon for IPv6
radvd [ -hsv ] [ -d debuglevel ] [ -C configfile ] [ -p pidfile ] [ -m
logmethod ] [ -l logfile ] [ -f facility ] [ -t chrootdir ] [ -u
radvd is the router advertisement daemon for IPv6. It listens to router
solicitations and sends router advertisements as described in "Neighbor
Discovery for IP Version 6 (IPv6)" (RFC 4861). With these
advertisements hosts can automatically configure their addresses and
some other parameters. They also can choose a default router based on
Note that if debugging is not enabled, radvd will not start if IPv6
forwarding is disabled. IPv6 forwarding can be controlled via
sysctl(8), net.ipv6.conf.all.forwarding on Linux or
net.inet6.ip6.forwarding on BSD.
Similarly, the configuration file must not be writable by others, and
if non-root operation is requested, not even by self/own group.
For every one character option there is also a long option, which is
listed right next to the "short" option name:
Displays the version of radvd and then aborts.
Displays a short usage description and then aborts.
On Linux if username is specified, privilege separation is
enabled and there will be two processes. This option disables
privilege separation, and as a result, the non-privileged radvd
process does not have permissions to change interface
-d debuglevel, --debug debuglevel
With this option you turn on debugging information. The
debugging level is an integer in the range from 1 to 5, from
quiet to very verbose. A debugging level of 0 completely turns
off debugging. If a debugging level greater than 0 is used,
radvd doesn’t background itself on start. The default debugging
level is 0.
-C configfile, --config configfile
Specifies an alternate config file. Normally the compiled in
default /etc/radvd.conf is used.
-p pidfile, --pidfile pidfile
Specifies an alternate pidfile. Normally the compiled in default
/var/run/radvd.pid is used.
-m method, --logmethod method
Specifies the logging method to use. Possibly values are:
none Completely disables any logging.
Logs to the logfile which is specified by the -l option.
If no logfile is specified on the command line, then a
compiled in default is used (see next option).
stderr Logs to standard error.
Logs only the high messages (of at least LOG_ERR
priority) to standard error, and everything to syslog
syslog Logs to syslog.
-l logfile, --logfile logfile
Specifies the logfile to use when using the logging method
logfile. The default logfile is /var/log/radvd.log.
-f facility, --facility facility
Specifies the facility (as an integer) when using syslog
logging. Default is LOG_DAEMON.
-t chrootdir, --chrootdir chrootdir
If specified, switches to chrootdir before doing anything else.
This directory and its subdirectories must have been populated
first. For security reasons, -u must always be used when using
Note that on Linux radvd requires access to the /proc
filesystem, so it is more challenging to set up the chroot
-u username, --username username
If specified, drops root privileges and changes user ID to
username and group ID to the primary group of username. This is
recommended for security reasons. You might also need to use -p
to point to a file in a username -writable directory (e.g.
There certainly are some bugs. If you find them or have other
suggestions please contact Pekka Savola <email@example.com>.
Pedro Roque <firstname.lastname@example.org> - wrote first version for Linux
Lars Fenneberg <email@example.com> - previous maintainer
Nathan Lutchansky <firstname.lastname@example.org> - previous maintainer
Pekka Savola <email@example.com> - current maintainer
Craig Metz <firstname.lastname@example.org> - port to NRL’s IPv6 code for BSD4.4
Marko Myllynen <email@example.com> - RFC 2461 update, Mobile IPv6 support
Jim Paris <firstname.lastname@example.org> - Privilege separation support