Go to file
Quentin De Coninck ca59fc4f0e get rid of policing
Actually, the policing command, while working reasonably,  might be too
restrictive. The buffer of the router might be never full, and packet losses
tend to happen quickly.

Instead, we could rely on the shaping with the limit argument of tbf to do the
job. However, the tbf command is first and then the netem one. Thanks to the
Mininet magics, the sender can completely ignore queue limitations...

To solve this, we just keep tbf and netem, but we first introduce netem (with
very large buffer) and then tbf. With the delay, there is no more fast path and
we see again realistic results.
2020-07-13 16:50:24 +02:00
config new topology with its iperfScenario experiment 2020-07-13 09:55:59 +02:00
core get rid of policing 2020-07-13 16:50:24 +02:00
experiments rewrite topos to have inheritance 2020-07-13 09:55:59 +02:00
topos rewrite topos to have inheritance 2020-07-13 09:55:59 +02:00
utils simplify usage of HTTP server 2020-07-13 09:55:16 +02:00
__init__.py start cleaning up the code 2020-07-13 09:54:35 +02:00
.gitignore finalize file refactoring of experiences 2020-07-13 09:55:09 +02:00
mininet_builder.py going in the refactor 2020-07-13 09:55:16 +02:00
README.rst add xp example to the README 2015-03-05 17:31:52 +01:00
runner.py cleanup mininet after each run 2020-07-13 09:55:16 +02:00

What ?
======

Simple tool, based on `mininet <http://mininet.org/>`_, to boot a simple network
with n paths and run experiments between two hosts.


Usage
=====

.. code-block:: console

        ./mpPerf -t topo -x xp

The format for the topo file and xp file is simple but could be different based
on the type of topo or experiments. Details should follow.

basic Example
=============

1. Get the CLI
--------------

.. code-block:: console

        ./mpPerf -t conf/topo/simple_para

The content of simple_para is:

.. code-block:: console

        desc:Simple configuration with two para link
        topoType:MultiIf
        leftSubnet:10.0.
        rightSubnet:10.1.
        #path_x:delay,queueSize(may be calc),bw
        path_0:10,10,5
        path_1:40,40,5
        path_2:30,30,2
        path_3:20,20,1

``topoType`` just specifies that we want to have multiple interfaces, one for
each path.

Each path is defined by 3 values, delay (one way, int, in ms), queue_size (int, 
in packets), and bandwidth (float, in mbit/s).

Once the configuration is up, you have access to the CLI. You can check route
configuration (policy routing etc.) Just by issuing regular commands preceded
by ``Client`` or ``Server``

2. Simple experiment
--------------------

.. code-block:: console

        ./mpPerf -t conf/topo/simple_para -x conf/xp/4_nc

This command will start the same topology and run the experiment defined by 4_nc
The result for this experiment is a simple pcap file.

They are other options and experiments, but the documentation is still to be
written.