ns-3 automation with Linux Container integration. Check out the github wiki for latest news: https://github.com/buzz66boy/ns3-lxc/wiki
Version 0.1 (details)
The aim of the ns3-lxc project is to create a program that automates and integrates the usage of Linux Containers (LXCs) with the real-time simulation capabilities of ns-3; abstracting away the need for users to write their own ns-3 script, instantiate their own containers, and ease the process of running applications on those containers. Primary use-cases for ns3-lxc include: testing of network routing protocols, simulation of large-scale, rapidly changing topologies, testing of new ns-3 modules, and website development and testing.
A more in-depth overview may be found in the 'docs/report.odt' document.
In essence, the project uses YAML-based topology files to automate creation of linux containers and interface them with ns-3 to simulate a network. Settings may be set in the settings.conf file.
Resources, including example topology files and a readme on how to write topology files can be found in the resources folder.
yaml-cpp - libyaml-cpp-dev
ns-3.26
LXC - lxc lxc-dev
CMake - cmake
GCC - gcc
./build.py
.CXXFLAGS="-std=c++11" ./waf -d debug --enable-examples --enable-tests configure
this configures NS-3 for C++11.sudo apt install lxc
.sudo apt install lxc-dev
.cmake .
make -j8
bin/ns3lxc resources/test_cases/testCase1.yaml
lxc-create -n nodeName -t download
and selecting the appropriate distro, release, and architecture.usage: 'sudo bin/ns3lxc pathToTopology [-n] [-c] [-s] [-g] [-h]'