|
5 years ago | |
---|---|---|
app | 6 years ago | |
config | 5 years ago | |
db | 6 years ago | |
experiment.skype | 6 years ago | |
experiment.yt | 6 years ago | |
http | 6 years ago | |
net | 6 years ago | |
sampling | 6 years ago | |
tests | 6 years ago | |
threading_utils | 6 years ago | |
utils | 6 years ago | |
vw | 6 years ago | |
websocket | 6 years ago | |
.gitignore | 6 years ago | |
.venv | 5 years ago | |
LICENSE.md | 6 years ago | |
README.md | 6 years ago | |
__init__.py | 5 years ago | |
automata.py | 6 years ago | |
db_start.py | 6 years ago | |
event_dispatching.py | 6 years ago | |
event_loop.py | 6 years ago | |
experiment.yt.visualization.example.png | 6 years ago | |
experimenter.py | 6 years ago | |
main.py | 5 years ago | |
makefile | 6 years ago | |
qoef.py | 5 years ago | |
requirements.txt | 6 years ago | |
sampler.py | 6 years ago | |
subprocessutils.py | 6 years ago | |
tc.sh | 6 years ago |
MM'"""""`MMM MM""""""""`M MM""""""""`M
M .mmm, MM MM mmmmmmmM MM mmmmmmmM
M MMMMM MM .d8888b. M` MMMM M' MMMM
M MM M MM 88' `88 MM MMMMMMMM MM MMMMMMMM
M `MM MM 88. .88 MM MMMMMMMM MM MMMMMMMM
MM. .. `M `88888P' MM .M MM MMMMMMMM
MMMMMMMMMMMM MMMMMMMMMMMM MMMMMMMMMMMM
A network interface constraint-based testbed in Python 2.7 developed at DIANA@INRIA.
Provided you make a program use a network interface in particular (see our two examples), you can test its behaviour under network constraints set by the testbed.
You can use it to test applications that cannot run through a particular interface by embedding them in a VM (see second example).
Clone the repository. Check the prerequisistes below. Type make
to get an idea of useful commands, or main.py --help
to get an idea of useful parameters.
Create a virtualenv for the project and run <virtualenv pip bin> install -r requirements.txt
.
Run sudo <virtualenv python bin> main.py <interface to constraint>
to launch. The program will then be waiting for a client to connect. Beware, it only supports one client at a time.
A simple client example is provided along: tests/ws_client.py.
It runs only on a Linux system, since it relies on tc (traffic control). You
need a python 2.7 and a virtualenv to avoid package collisions (e.g: enum and enum34).
You need to set the conf/static.json according to your system, and change the path
to your virtualenv binary folder in net/netutils.py.
You probably know how to represent your results to your audience better than us, but know that you can quickly run various visualization examples via make vue
:
You can contact the authors directly, although no support is guaranted, we like helping other research teams.
This project is licensed under the MIT License - see the LICENSE.md file for details