The IPv6 Router Advertisement Daemon (radvd) periodically sends router advertisement (RA) messages to a local ethernet LAN advertising among other things, the IPv6 prefix and router address.
Libdaemon is a dependancy for radvd.
Download libdaemon and cross compile for ARM assuming your ARM cross compiler is located at /opt/arm-2011.09/
wget http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz tar -xzf libdaemon-0.14.tar.gz cd libdaemon-0.14 ./configure --host=arm-linux-gnueabi \ --prefix=/usr/arm-linux-gnueabi \ ac_cv_func_setpgrp_void=yes make make install
Now copy libdaemon.so.0.5.0 to your target and update the dynamic linker run-time bindings with ldconfig:
cp /usr/arm-linux-gnueabi/lib/libdaemon.so.0.5.0 /home/export/rootfs/lib
Radvd requires the following to be installed on your build system:
sudo apt-get install bison sudo apt-get install flex
Download radvd, extract and cross compile for ARM:
wget http://www.litech.org/radvd/dist/radvd-1.14.tar.gz tar -xzf radvd-1.14.tar.gz cd radvd-1.14 ./configure --prefix= \ --host=arm-linux-gnueabi \ --sysconfdir=/etc \ PKG_CONFIG_PATH=/home/temp/radvd/lib/pkgconfig make make install DESTDIR=/home/export/rootfs
A default /etc/radvd.conf file is shown below advertising an address prefix:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2003:44b9:4219:6400::/64 { AdvOnLink on; AdvAutonomous on; }; };
Options
The daemon can be started by simply running:
radvd
The link below contains a bzip2 tarball of the radvd binaries compiled for ARM :