= AODV/OLSR on ORBIT = 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 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 - > /proc/net/mackill }}} To remove a node from this list, {{{ echo + > /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: {{{ olsrd }}} 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. === Resources === * http://core.it.uu.se/core/index.php/AODV-UU - AODV Uppasala University implementation * http://www.docs.uu.se/docs/research/projects/scanet/aodv/aodvuu.shtml - Mackill (scroll to the middle section - this is from the old AODV-UU site)