From 98958e74c09e8c601822dea1b58ea6e29d67d6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cenk=20G=C3=BCndo=C4=9Fan?= Date: Thu, 10 Mar 2016 16:29:38 +0100 Subject: [PATCH] dist/tools/desvirt: added README --- dist/tools/desvirt/README.desvirt.md | 126 +++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 dist/tools/desvirt/README.desvirt.md diff --git a/dist/tools/desvirt/README.desvirt.md b/dist/tools/desvirt/README.desvirt.md new file mode 100644 index 0000000000..36797e81b6 --- /dev/null +++ b/dist/tools/desvirt/README.desvirt.md @@ -0,0 +1,126 @@ +# DESVIRT integration into RIOT + +You can find more information about desvirt at +https://github.com/des-testbed/desvirt + +## Control DESVIRT via Make + +### Variables + +This Makefile introduces some additional variables: + * TOPO (name of the topology to use) + * TOPO_SIZE (size of the topology to use) + * TOPO_TYPE (type of the topology to use [line|grid]) + +### Targets + +It defines the following targets: + * desvirt-topology + * desvirt-define + * desvirt-undefine + * desvirt-list + * desvirt-start + * desvirt-stop + * desvirt-clean + * desvirt-distclean + +#### desvirt-topology + +This target creates a new topology file in `RIOTBASE/dist/tools/desvirt/desvirt/.desvirt` +It is necessary to supply the type and size of the new topology with `TOPO_TYPE` and `TOPO_SIZE`. +The make target will create the topology file with the name `$(TOPO_TYPE)$(TOPO_SIZE)`. +Examples: +``` +TOPO_TYPE=line TOPO_SIZE=4 make desvirt-topology +TOPO_TYPE=grid TOPO_SIZE=9 make desvirt-topology +``` +The names of the files will be: `line4` and `grid9`. + +#### desvirt-define + +This target defines a new topology. This must be done prior to starting desvirt. +``` +TOPO=line4 make desvirt-define +``` + +#### desvirt-undefine + +This target undefines a topology. +``` +TOPO=line4 make desvirt-undefine +``` + +#### desvirt-list + +This target lists all defined topologies. +``` +make desvirt-list +``` + +#### desvirt-start + +This target starts a new virtualization with the given topology name. +The topology must be defined beforehand. +``` +TOPO=line4 make desvirt-start +``` + +You will get an output like this: +``` +cd /home/pschmerzl/RIOT/dist/tools/desvirt/desvirt && ./vnet -s -n line4 +vnet : Loaded statefile .desvirt/lib/line4.macs. +vif : creating line4_0 for pschmerzl +vif : Creating tap: line4_0 +vif : creating line4_1 for pschmerzl +vif : Creating tap: line4_1 +vif : creating line4_2 for pschmerzl +vif : Creating tap: line4_2 +vif : creating line4_3 for pschmerzl +vif : Creating tap: line4_3 +lossnet : line4: New link from line4_0 to line4_1, rate=100mbit, loss=0.0, delay=0.0 +lossnet : line4: New link from line4_1 to line4_0, rate=100mbit, loss=0.0, delay=0.0 +lossnet : line4: New link from line4_1 to line4_2, rate=100mbit, loss=0.0, delay=0.0 +lossnet : line4: New link from line4_2 to line4_1, rate=100mbit, loss=0.0, delay=0.0 +lossnet : line4: New link from line4_2 to line4_3, rate=100mbit, loss=0.0, delay=0.0 +lossnet : line4: New link from line4_3 to line4_2, rate=100mbit, loss=0.0, delay=0.0 +vnet : Network Name: line4 +vm : Defining RIOT native process line4_1 +riotnative : Start the RIOT: socat EXEC:'/home/pschmerzl/RIOT/examples/gnrc_networking/bin/native/gnrc_networking.elf line4_1',end-close,stderr,pty TCP-L:4711,reuseaddr,fork +riotnative : PID: 18235 +vm : Defining RIOT native process line4_0 +riotnative : Start the RIOT: socat EXEC:'/home/pschmerzl/RIOT/examples/gnrc_networking/bin/native/gnrc_networking.elf line4_0',end-close,stderr,pty TCP-L:4712,reuseaddr,fork +riotnative : PID: 18236 +vm : Defining RIOT native process line4_3 +riotnative : Start the RIOT: socat EXEC:'/home/pschmerzl/RIOT/examples/gnrc_networking/bin/native/gnrc_networking.elf line4_3',end-close,stderr,pty TCP-L:4713,reuseaddr,fork +riotnative : PID: 18237 +vm : Defining RIOT native process line4_2 +riotnative : Start the RIOT: socat EXEC:'/home/pschmerzl/RIOT/examples/gnrc_networking/bin/native/gnrc_networking.elf line4_2',end-close,stderr,pty TCP-L:4714,reuseaddr,fork +riotnative : PID: 18238 + +``` + +Once the topology is running, you can use `pyterm` to connect to the various +instances, e.g. calling `pyterm -ts 4712` to connect to node `line4_0` from the +example above. + +#### desvirt-stop + +This target stops a new virtualization with the given topology name. +The topology must be defined beforehand. +``` +TOPO=line4 make desvirt-stop +``` + +#### desvirt-clean + +This target resets the desvirt git-folder. All topologies will be deleted. +``` +make desvirt-clean +``` + +#### desvirt-distclean + +This target deletes the desvirt folder. +``` +make desvirt-distclean +```