Giter VIP home page Giter VIP logo

minitopo's Introduction

What ?

Simple tool, based on mininet, to boot a simple network with n paths and run experiments between two hosts.

Usage

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

./mpPerf -t conf/topo/simple_para

The content of simple_para is:

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

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

minitopo's People

Contributors

bhesmans avatar qdeconinck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

minitopo's Issues

Update README

The current README contains instructions for a rather old version of minitopo. We should update it and include some "easy tutorial" (a simple experiment with a simple topology, easy to run and interpret).

Request to update README

Hello, I have been trying to use this project for mpquic testing recently. When can you update README? I hope I can get your help. Thank you. This is my email address: [email protected]

multipath topology not work in two seperate path

I build a topology in mininet like following:

                _________S1________________________            
   eth0  /10.0.1.1                     10.0.2.1           \      
h1                                                                  h2     
  eth1 \10.0.1.2                         10.0.2.2            /     
            \__________S2________________________  /       

but when I capture packet on h1-eth0 and h1-eth2, only h1-eth0 has udp packets. it did not work.

And It works in the following topology. And the two paths that have udp packets are 10.0.0.2->10.0.2.2 and 10.0.1.2->10.0.2.2
mp

some error

I configure a virtual machine as the instruction. But When I run quic_mptcp_https_tests_expdes_wsp_lowbdp_quic.py, I got the following error.
raise Exception("File " + filename + " could not be put on remote server at path " + path)
Exception: File /home/zsy/minitopo-experiences/experiences/https_quic_20180801_202743_mptcp/0_d10.5qs0.048b51.83_1_d13.3qs0.063b45.38_nt_0_0_loss_0.00%_nt_1_0_loss_0.00%/0_d10.5qs0.048b51.83_1_d13.3qs0.063b45.38_nt_0_0_loss_0.00%_nt_1_0_loss_0.00% could not be put on remote server at path /mnt/tmpfs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.