CHANGELOG is added until Beta v0.1.5, notable changes after this version MUST be documented in this file.
The format is based on Keep a Changelog, And this project adheres to Semantic Versioning.
- Use Ansible instead of BASH scripts for ComNetsEmu installation.
- Fully rewrite the install.sh to use apt packages that are available and have proper version on Ubuntu 20.04. Minimize the usage of pip as much as possible.
- Add ./util/run_cyclictest.sh (basic version) to use cyclictest for real-time performance evaluation.
- Fix the wrong configuration in Vagrantfile for both Virtualbox and Libvirt provider (Remove the hack of using getoption, use the override as suggested by Vagrant documentation).
- Remove broken dev dependencies in the install.sh. Also remove openflow1.3 reference switch from Mininet project. Just use openvswitch.
- Add ./util/tmp_fix_deps.sh script to apply temporary fixes to broken upstream packages. For example, the Ryu SDN controller does not work with eventlet 0.31.0 yet.
- Use iproute2 instead of ifconfig for IP configuring of the DockerHost.
- Use Ubuntu 20.04 LTS as the base distribution for the VM.
- Use the latest Mininet 2.3.0 from upstream (https://github.com/mininet/mininet).
- Add a basic example of service migration based on signaling packets for state synchronization.
- Fix the default value and sanity checking of docker_args in net.py and node.py.
- Update README for the setup on Windows.
- Fix encoder issues in app/network_coding_for_transport/.
- Update app/machine_learning_for_congestion_control/
- Fix makeTerm of Mininet in Virtualbox provider.
- Fix branch issues and cgroup-tool issue in install.sh.
- Remove ptype in install.sh.
- Add SDN hands-on exercises in ./app/software_defined_networks_examples/.
- Improve the main README.
- Remove packages that are installed from the source from the ./util/requirements.txt and ./doc/requirements.txt.
- Use latest version of Ryu (v4.34).
- Add REST APIs in APPContainerManager.
- Add two built-in examples ./examples/dockerhost_manage_appcontainer.py and ./examples/network_measurement.py .
- Change the version of Mininet to v2.3.0d6.
- Add the built-in test container rebuilding in the update function of the install.sh.
- Rename DockerContainer class in node.py to APPContainer.
- Improve the documentation and parameter names in ./comnetsemu/net.py.
- Vagrant development environment with Libvirt as provider.
- Use APPContainerManager as the base class for all types of sibling containers including VNFContainer.
- Current DockerHost implementation (in node.py) is refactored to support Docker-py v3.7.2 API. Builtin examples are also updated.
- Use the override.py approach to override
makeIntfPair
inmininet.util
. This approach replaces the patch-based approach in v0.1.4.
- Use relative path for ComNetsEmu's dependency directory (default name: comnetsemu_dependencies). The installer script uses the directory containing the comnetsemu's source code as TOP_DIR. All source dependencies are downloaded/managed into "$TOP_DIR/comnetsemu_dependencies".