Using AODV with the testbed

Currently, we support AODV-UU protocol 0.9.1 on kernel version 2.6.12. Using the application and prototype definition format, we can currently specify

  • the interface to run on
  • enable logging
  • enable route table logging

For Experimenters

  • Step 1: In order to use AODV routing protocol in your experiment, make sure you use the baseline.ndz image on your nodes that has aodv installed.
  • Step 2: Use the following experiment script. This will launch both the traffic generator and AODV on the nodes. AODV currently logs locally to the node every N secs which is configurable. However, in the future, this will be OMLized to log into the database instead.
  • AODV router prototype and app defs are installed on all consoles. So users should be able to use it from any console


The aim of this effort is to run the AODV routing protocol for an Ad-hoc network of arbitrary topology on ORBIT. The topology of the Ad-hoc network can be provided by the experimenter or one can use from a set of available topologies.

The demo below shows how to run and AODV on a minimal Ad-hoc network of three nodes.

Initial installation

The nodes to be used in the network must be imaged with adhoc_0.1.ndz. This image has AODV-UU-0.9.1 installed. It also contains the mackill module. This module is used to emulate an Ad-hoc network by supressing packets from desired nodes. This image also contains the modified madwifi-0.9.2 driver with the BSSID problem solved.

imageNodes <node list> adhoc_0.1.ndz

Network creation - using Mackill

Mackill is a MAC filter wich is used to emulate Ad-hoc network topologies on ORBIT. The mackill module creates a mackill file in /proc/net on each node. The nodes which should not be heard are specified in this file. This is done by echoing the MAC addresses of such nodes into this file. To add a MAC address to mackill,

echo - <MAC address> > /proc/net/mackill

To remove a node from this list,

echo + <MAC address> > /proc/net/mackill

Running AODV

AODV can be run as a module on a node using,

aodvd -l -r <# of seconds>

The -l option enables logging of all events to /var/net/aodvd.log and -r enables logging of the routing tables to /var/net/aodvd.rtlog.

Running OLSR

Easiest way of running OLSR is by executing:


on the nodes.

Network tests

To use AODV to run experiments on ORBIT:

  1. Image nodes as per the topology required.
  2. Emulate the topology using mackill on each node to block packets from non-neighbouring nodes.
  3. Run AODV on each node.
  4. Use ping or iperf for experiments on the Ad-hoc network and to perform any measurements required.

Ongoing work

The ongoing effort to integrate AODV involves automation of mackill so that the experimenter can provide the network topology in a file and create it on ORBIT without having to manually modify /proc/net/mackill on each node.


  • Experiment scripts for AODV are available here
Last modified 7 years ago Last modified on 01/11/13 01:36:49