I wrote this article originally back in 2005. It was originally available at http://www.georglutz.de/wiki/OmnetPlusPlus. The information you find below might be rather outdated now and I don’t plan to work on it further, but I put it in the blog for archival purposes on this particular date – Georg in June 2011.
OMNeT++ is the Objective Modular Network Testbed in C++. It is primarily targeted at the simulation of communication networks and other parallel/distributed systems. For more information look at http://www.omnetpp.org .
Mobility Framework
Mobility Framework (http://mobility-fw.sourceforge.net) is a simulation model for/based on OMNeT++. The Mobility Framework provides abstractions needed to develop network protocols for non-stationary wireless nodes.
Random Waypoint Mobility
During my diploma thesis “Effizientes Modell für Funkverbindungen in 4G-Netzen für OMNeT++” (Efficient model for radio links in 4G networks for OMNeT++) at Institut für Telematik, Universität Karlsruhe (http://www.tm.uka.de) I have compared my own simulation model with Mobility Framework. In order to be able to do so I had do implement random waypoint mobility in the mobility framework.
You can download it here: MfwRandomWP.tar.gz. It has been tested with mobility framework 1.0a4. I think and hope it will be included in later versions.
Patches / Bugfixes
There were a number of problems with version 1.0a4 . I have collected the modifications I used in the following file : mfw-patches.tar.gz
IPv6Suite
IPv6Suite is an open source OMNeT++ model suite for accurate simulation of IPv6 protocols and networks, see http://ctieware.eng.monash.edu.au/twiki/bin/view/Simulation/IPv6Suite .
In my diploma thesis I used version 20050309. I had to write some modifications and bugfixes. You can download the modifications here: ipv6suite-0.92_20050309_patch.txt.gz
The modifications are:
- Small modification to run IPv6Suite under OMNet++ 3.0
- Limit outputBuffer to prevent memory exhaustion under heavy load
- Added myNodeList to record association in WirelessAccessPoint. This is used internaly in my model.
- Added WEAScanReceiveMode::handleAck. See mails from Steve Woon on omnepp-l in the thread http://www.omnetpp.org/listarchive/msg04511.php
- Adjusted datarate BASE_SPEED from 11*1024*1024 Bits/s to 11*1000*1000 Bit/s (802.11b standard)
- Added PLCP header for 802.11b (192 Bits, 1MBit/s) which is not present at all in version 20050309 .
- Delete beaconBody in WirelessEtherAScanReceiveMode.h. This caused a memory exhaustion under heavy load.