/ecmp

Equal-Cost MultiPath (ECMP) Implementation in ns-3

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Equal-Cost Multi-Path (ECMP) Implementation in ns-3

As a part of the MMPTCP project, I have implemented several ECMP modes in ns-3. These are random, per-flow (hash-based) and round-robin modes.

To demonstrate these ECMP modes I have made a few videos, you can find them as follows:

Installations

  1. Clone the ECMP's repository.
git clone https://github.com/mkheirkhah/ecmp.git
  1. Configure and build the ns-3 simulator
CXXFLAGS="-Wall" ./waf configure build 
  1. Run a simulation
./waf --run "ecmp"

Note that we have written a simple simulation script to demonstrate how to use the ECMP modes available in this repository. You can find it in the scratch folder.

Reference

If you use this code in part or entirely, please consider citing the MMPTCP paper where this code was developed as part of it.

@inproceedings{kheirkhah2016mmptcp,
  title={{MMPTCP: A multipath transport protocol for data centers}},
  author={Kheirkhah, Morteza and Wakeman, Ian and Parisis, George},
  booktitle={IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications},
  pages={1-9},
  month={April},
  year={2016},
  doi={10.1109/INFOCOM.2016.7524530}
}

Contact

Morteza Kheirkhah, University College London (UCL), m.kheirkhah@ucl.ac.uk