| Branch: | Revision:

lorenzoghiroms @ master

Name Size Revision Age Author Comment
  Test 8f7370dd almost 4 years Luca Baldesi add wait function to MininetTest class wait al...
  conf 7854eb92 over 2 years LoreBz RouteDumper implemented
  data 7de44cc4 over 3 years Leonardo Maccari test json topology
  test_code 7854eb92 over 2 years LoreBz RouteDumper implemented
.gitignore 30 Bytes cb614266 almost 3 years LoreBz BabelTest added
.gitmodules 151 Bytes 1e5ac3b3 over 3 years Leonardo Maccari updated url
README 2.98 KB 8163c242 over 3 years Leonardo Maccari change readme
community_networks_analysis 0 Bytes e32aaa99 over 3 years Leonardo Maccari added support for NetJSON format 1.6 KB d3494ef0 over 2 years Luca Baldesi refactor logsys description 8.44 KB e32aaa99 over 3 years Leonardo Maccari added support for NetJSON format 4.4 KB f26348de over 4 years Leonardo Maccari fixed bug in optional params 2.82 KB cb614266 almost 3 years LoreBz BabelTest added 4.84 KB 976ba3fc about 4 years Luca Baldesi refactor shortest path computation, enhanced co...

Latest revisions

# Date Author Comment
81c3523d 10/13/2016 08:34 AM LoreBz

Merge branch 'master' of

d3494ef0 10/12/2016 05:30 PM Luca Baldesi

refactor logsys description

7854eb92 10/10/2016 03:16 PM LoreBz

RouteDumper implemented

ce1f0c86 10/10/2016 08:14 AM LoreBz

git test

cb614266 09/12/2016 02:02 PM LoreBz

BabelTest added

5f579132 02/04/2016 04:34 PM Luca Baldesi

Add resource logging capability

7b55b31e 02/04/2016 04:33 PM Luca Baldesi

merge netjson support feature branch

8163c242 09/29/2015 03:32 PM Leonardo Maccari

change readme

eac05fb4 09/28/2015 12:12 PM Luca Baldesi

add resource logging explanation in the README

7de44cc4 09/24/2015 10:57 AM Leonardo Maccari

test json topology

View all revisions | View revisions


NePA TesT is a front-end for mininet which setups experiment on a given (networkx) network --------------------Usage--------------------- To run a test you need a configuration file (to be placed in conf/) and the test class code (to be placed in test_code/). Then run $>python wcn_emulator -f -t where identifies a test case in . Each test case must specify an implementation of MininetTest through the argoment "testClass"/ Each MininetTest class has the runTest method which starts what the test needs and then waits for completion. This waiting can be implemented with self.wait() function which sleeps for the desired amount of time and optionally logs resource usage. For example: self.wait(self.duration) # will wait till the end self.wait(self.duration, log_resources={'cpu': 'cpu_usage'}, 2) # will wait till the end of the test while sampling every 2 seconds the cpu load and saving the results in a file called 'cpu_usage'. Other than 'cpu', also 'net' and 'mem' can be logged; 'mem' makes NePA TesT logging the amount of available RAM (free or released) and the amount of swap memory used; 'net' makes instead logging both the fraction of received packets over sent packets and the fraction of received bytes over sent bytes since the beginning of the test. It is important to always specify the destination file of the logs (even the same for all the resources). ----------------Test------------------------- NePA TesT stores test files in the Test folder. Tests follows the pytest approach, to run them simply install the pytest module and run $>python -m pytest in the root folder ------------Troubleshooting------------------ If something fails system may remain unstable. In this case try typing: $> sudo mn -c ----------------How to----------------------- Use a custom delay distribution for the links --------------------------------------------- Through is possible to set some parameters of the links, e.g., loss, bandwidth, mean delay, delay jitter and delay distribution. Available delay distributions are placed in /usr/lib/tc/ and the defaults one are normal, pareto, paretonormal and experimental. Given sample delay values is possible to build a custom distribution and use it in mininet. ( create-netem-distribution-tables.html) 1) git clone git://\ linux/kernel/git/shemminger/iproute2.git 2) compile these netem utilities: cd iproute2/netem gcc -o maketable maketable.c -lm gcc -o stats stats.c -lm 3) fill data.txt with samples from the distribution (in ms), e.g., ping -c10 | grep -Eo 'time=[0-9.]+'|\ grep -Eo '[0-9.]+' > data.txt 4) build a netem distribution ./maketable data.txt > mydist.dist 5) put mydist.dist in /usr/lib/tc/ 6) compute mean and standard deviation (sigma) ./stats data.txt 7) use the following configuration parameters: link_mean_delay = ms link_delay_sd = ms link_delay_distribution = mydist

Also available in: Atom