MobileMesh is an ad-hoc routing protocol and implementation from Mitre. It's pretty easy to get running, though in the long run it isn't really what we want. Here's a quick howto on getting it going:
Download it from the [http://www.mitre.org/tech_transfer/mobilemesh/ homepage], unpack it, run "make", then "make install" as root.
- Edit /etc/mobilemesh/mmrp.conf and change 'eth0' towards the bottom to the interface you wish to do ad-hoc routing on.
- To start mobilemesh, first run "mmdiscover -i ethN" where ethN is the interface above. Then run "mmrp".
To fully utilize the ad-hoc routing, you then want to remove the network route on that interface, so MobileMesh is fully in control of local routing. Do this with "route del -net w.x.y.z netmask 255......0" as appropriate.
Note that the mobilemesh daemons mmdiscover and mmrp will die if the interface goes away. This means that for PCMCIA cards, as most 802.11 cards are, you'll have to do some tricky stuff to get it to work consistently. I personally have a script I run manually right now anyway, so I've just created a modified form.
If you have a normal node on the network with just a network route, I'm unsure whether it will be able to talk to other nodes, because without specific host routes on the remote nodes, they can't talk back. This is a design requirement I would have of any new routing protocol (and unfortunately requires a packet sniffer active on every node...).

