(One intermediate revision by one user not shown)
Line 3: Line 3:
 
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.  
 
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 ===
+
=== Cross Compiling Radvd for ARM ===  
  
Libdaemon is a dependancy for radvd.
+
Radvd requires the following to be installed on your build system:
 
+
Download libdaemon and cross compile for ARM assuming your ARM cross compiler is located at /opt/arm-2011.09/
+
  
 
<PRE>
 
<PRE>
wget http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz
+
sudo apt-get install bison
tar -xzf libdaemon-0.14.tar.gz
+
sudo apt-get install flex
cd libdaemon-0.14
+
./configure --host=arm-linux-gnueabi \
+
            --prefix=/usr/arm-linux-gnueabi \ 
+
            ac_cv_func_setpgrp_void=yes
+
make
+
make install
+
 
</PRE>
 
</PRE>
  
Now copy libdaemon.so.0.5.0 to your target and update the dynamic linker run-time bindings with ldconfig:
+
Download radvd, extract and cross compile for ARM:
 
+
<PRE>
+
cp /usr/arm-linux-gnueabi/lib/libdaemon.so.0.5.0 /home/export/rootfs/lib
+
</PRE>
+
 
+
=== Cross Compiling Radvd for ARM ===
+
  
 
<PRE>
 
<PRE>
wget http://www.litech.org/radvd/dist/radvd-1.14.tar.gz
+
wget http://www.litech.org/radvd/dist/radvd-2.11.tar.gz
tar -xzf radvd-1.14.tar.gz
+
tar -xzf radvd-2.11.tar.gz
cd radvd-1.14
+
cd radvd-2.11
./configure --prefix= \
+
./configure --prefix= --host=arm-linux-gnueabi --sysconfdir=/etc
            --host=arm-linux-gnueabi \
+
            --sysconfdir=/etc \
+
            PKG_CONFIG_PATH=/home/temp/radvd/lib/pkgconfig
+
 
make
 
make
 
make install DESTDIR=/home/export/rootfs
 
make install DESTDIR=/home/export/rootfs

Latest revision as of 07:11, 1 July 2015

Radvd - IPv6 Router Advertisement Daemon

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.

Cross Compiling Radvd for ARM

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-2.11.tar.gz
tar -xzf radvd-2.11.tar.gz
cd radvd-2.11
./configure --prefix= --host=arm-linux-gnueabi --sysconfdir=/etc
make
make install DESTDIR=/home/export/rootfs

Configuration

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

  • AdvSendAdvert: Enable router to send periodic router advertisements and respond to router solicitations.
  • MinRtrAdvInterval: Minimum time between sending unsolicited multicast router advertisements (seconds)
  • MaxRtrAdvInterval: Maximum time between sending unsolicited multicast router advertisements (seconds). Must be no greater than 1800 seconds (30 Minutes)
  • Prefix: Prefix Definition
    • AdvOnLink: Indicates if prefix can be used for on-link determination.
    • AdvAutonomous: When set, indicates that this prefix can be used for autonomous address configuration as specified in RFC 4862.
    • AdvRouterAddr: When set, indicates that the address of interface is sent instead of network prefix

The daemon can be started by simply running:

radvd

Download Pre-built Binaries

The link below contains a bzip2 tarball of the radvd binaries compiled for ARM :

  • Built using:
    • Libdaemon-0.14
    • radvd-1.10.0
    • arm-linux-gnueabi-gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)