Download the latest version of WiMesh:
Previous versions can be found here
Currently, Linux is the only supported operating system.
Installation instructions
- Install the required build tools (pkg-config, cmake, make, gcc, g++)
- Install the required libraries:
- libxml++
- COIN-OR libraries (webpage: https://projects.coin-or.org/<libname> - download from: http://www.coin-or.org/download/source/<libname>):
• CoinUtils
• Osi
• Clp
• Cgl
• Cbc
• Vol
• IpOpt (only required if you want to run calcMplsRatios)
-
Download and extract WiMesh into your preferred location
- cd /your/preferred/location
- wget http://wpage.unina.it/stavallo/WiMesh/download/WiMesh-<version>.tar.bz2
- tar xjf WiMesh-<version>.tar.bz2
-
If you want to perform network simulations, install ns-3 (if you have not already done so)
- download and extract ns-3 sources or clone ns-3-dev repository
- cd into ns-allinone-3.XX/ns-3.XX or ns-3-allinone/ns-3-dev
- patch -p1 < /path/to/WiMesh/ns3-wimesh.patch (if you want to add support for mpls and layer-2.5 to ns-3)
-
[/usr/bin/python2] ./waf [--prefix=<ns-3_install_dir>] [-d optimized] configure
• the default installation directory is /usr/local/
- [/usr/bin/python2] ./waf
-
[sudo] [/usr/bin/python2] ./waf install
• libraries, binaries and header files are installed, respectively, to <ns-3_install_dir>/lib, <ns-3_install_dir>/bin and <ns-3_install_dir>/include
-
Build WiMesh
- cd /your/preferred/build/location
- mkdir build
- cd build
-
[env PKG_CONFIG_PATH=<pkg_path1>:<pkg_path2>...] cmake [-DCMAKE_INSTALL_PREFIX=<wimesh_install_dir>] [-DCMAKE_CXX_FLAGS=<c++_flags>] /path/to/WiMesh/sources
• PKG_CONFIG_PATH is a list of non standard directories where to search for the required libraries (e.g., <ns-3_install_dir>/lib/pkgconfig)
• the default installation directory for WiMesh binaries and libraries is the WiMesh source directory (lib and bin subdirectories are made therein)
• use -DCMAKE_CXX_FLAGS to pass C++ flags to the compiler (e.g. "-march=native -O3")
- make [VERBOSE=1]
- [sudo] make install
Getting started
The utilities provided by WiMesh are installed in the bin directory (under the specified install prefix). The complete list of utilities follows:
- WMrun
- Usage: cat <XML_config_file> | WMrun ( or WMrun < <XML_config_file>)
- Runs a WiMesh simulation, as specified in the XML configuration file. More info can be found in utils/WMrun.cpp
- A sample xml file is provided in the utils directory (configWM.xml)
- readTopo
- Usage: readTopo <serialized_file> [oct]
- Prints information about the topology serialized in the given file (generated by WMrun)
- If the "oct" parameter is specified, a file draw_<topology_name>.m is created, which can be sourced in Octave (using the source command from the Octave prompt) to graphically show the network topology
- RunNs3
- Usage: cat <XML_config_file> | RunNs3 ( or RunNs3 < <XML_config_file>)
- Runs an ns-3 simulation starting from the topology serialized in the given file (generated by WMrun). More info can be found in utils/RunNs3.cpp
- A sample xml file is provided in the utils directory (configNs3.xml)
- solveMeter
- Usage: cat <XML_config_file> | solveMeter ( or solveMeter < <XML_config_file>)
- Computes the MPLS split ratios for the topology serialized in the given file (generated by WMrun). More info can be found in utils/solveMeter.cpp
- A sample xml file is provided in the utils directory (configMpls.xml)