AODV-UU is a Linux-based implementation for AODV (short for Ad-hoc On-demand Distance Vector Routing) developed at the Uppsala University. The original code is based on IPv4 and can use wireless as well as ordinary network interfaces. The IPv6 patch for AODV-UU version 0.9 aims to make the source code compilable either for IPv4 or for IPv6 networks. This is done by adding a layer for IP-version abstraction, called iplib. Within the AODV code all types and calls to the Linux kernel or socket interfaces specific to the IP-version are replaced by calls to the respective iplib types and functions.
To build the code with IPv6 support, the source code needs to be updated to contain the patch. This can be achieved most easily by downloading the full source archive with the IPv6 patch already applied from the download section. If this is not possible for some reason, the patch can be applied to the untared 0.9 source tree:
Before building, the IP-version to be supported can be set in the
Makefile by setting/unsetting a hash before the line:
Before running the code, the AODV kernel module must be loaded. Also make sure the kernel provides the some functionality needed by AODV6. The shell script load_modules6 attemps to load all the necessary kernel modules. If running the script leads to error messages, this either means that some kernel functionality is missing or it was not compiled as a module but straight into the kernel. In the latter case, these warnings can be ignored. Note that after loading the aodv kernel module the normal network traffic (either IPv4 or IPv6) is blocked until the module is unloaed. A good starting point for running the program is using the script run_aodv6. It will print plenty of messages to the screen and also write the log files /var/log/aodvd6.log and /var/log/aodvd6.rtlog. Of course it will make most sense to run the program on more than one machine.
|
![]() |
|||||||||||||||||||||||||
| ||||||||||||||||||||||||||