Create a test network using network namespaces and tc-netem
Find a file
2022-09-14 18:32:07 +02:00
analysis Scenario based benchmarks will be ready soon 2022-09-14 18:22:46 +02:00
benchmarks Scenario based benchmarks will be ready soon 2022-09-14 18:22:46 +02:00
scenarios Scenario based benchmarks will be ready soon 2022-09-14 18:22:46 +02:00
topo New way to deploy Garage 2022-09-14 17:25:16 +02:00
.gitignore Working s3lat with Garage 2022-09-14 18:01:44 +02:00
.gitmodules Scenario based benchmarks will be ready soon 2022-09-14 18:22:46 +02:00
LICENSE add license 2021-12-12 17:54:54 +01:00
mknet add support for limiting queue len 2022-08-31 21:29:18 +02:00
net.py add support for limiting queue len 2022-08-31 21:29:18 +02:00
README.md Fix doc 2022-09-14 18:32:07 +02:00
setup.py New way to deploy Garage 2022-09-14 17:25:16 +02:00
shell.nix New way to deploy Garage 2022-09-14 17:25:16 +02:00

mknet

mknet is a tool to simulate various network topologies locally thanks to network namespaces and traffic control (tc).

Prepare your environment

Get the repository and its submodules:

git clone https://git.deuxfleurs.fr/Deuxfleurs/mknet.git
cd mknet
git submodule update --init

Compile benchmark tools:

( cd benchmarks/warp && go build )
( cd benchmarks/s3concurrent && go build )
( cd benchmarks/s3lat && go build )

Switch to root as it is required by our tool, and setup your python environment.

sudo -i
pip3 install --user .
( cd scenarios && pip3 install -r requirements.txt )

Run a test

(Not yet implemented)

./mknet scenario ./scenarios/garage-s3lat ./topo/single-dc.yml

Manual usage

./mknet create ./topo/with-vdsl.yml
./mknet run-all ./scenarios/garage-manual
./mknet run dc1:dc1s1 /tmp/mknet-bin/garage* -c /tmp/mknet-store/garage/dc1/dc1s1/garage.toml status
./mknet run-all ./scenarios/clean
./mknet destroy