aboutsummaryrefslogblamecommitdiff
path: root/README.md
blob: 4ab842a09e9b779108e2dec6aa3d8d44790d3d2e (plain) (tree)
1
2
3
4
5
6
7
8
9
10

       

                                                              
 
                           
 
                                      

       


                                                        

   
                        
 




                                          
 

                                             

       



                                                    
 
             
 



                                                               

   
               
 





                                                                                                    
 
# 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:

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

Compile benchmark tools:

```bash
( 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.

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

## Run a test

(Not yet implemented)

```bash
./mknet scenario ./benchmarks/garage-s3lat ./topo/single-dc.yml
```

## Manual usage

```bash
./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