The researcher prepares the overlay filesystem which is gonna be deployed in the nodes (check this for more information). It means a tar.gz file with the difference between the original system (which is readonly) and the resulting system.
In this example, we need to configure the “wlan0” network device in “adhoc” mode. Then will perform pings to a IPv6 multicast address and save this information to know how many nodes are we able to reach from each device.
The files included in the experimentation overlay will be the following:
uci set wireless.radio0.mode=adhoc
uci set wireless.radio0.network=mesh1
uci set wireless.radio0.bssid=11:22:33:11:22:33
uci commit wireless
uci set network.mesh1=interface
uci set network.mesh1.proto=none
uci set network.mesh1.auto=1
uci commit wireless
while [ $i -lt 100 ]; do
ping6 ff02::2%wlan0 -c 10 -s 256 > /save/ping.$i
i=$( ( $i+1 ) )
echo “sh /root/start_experiment.sh” » /etc/rc.local
* Attention: Be careful with the symbols like “ and » when you copy them to the document, they may change.
The controller announces the action PREPARE to the nodes. Once the overlay is distributed to all the nodes (announced by READY status), the researcher can start the experiment and the controller will announce the action to RUN.
The nodes install the experimentation overlay and reboot the system. Once the nodes boot, the experiment is considered RUNNING.
Then, the researcher executes the command
/root/make_experiment_run_and_boot.sh from the controller, so all nodes will execute it. This command will add the “start_experiment.sh” script to the “rc.local” file (which is executed in each boot) and it will reboot the node to start the testing.
The output data is saved in the ”/saved“ directory. This is a special directory which is synced with the controller to store the experiment results.
After 100 iterations the experiment will be over. The researcher can execute remote commands from the controller to check the state of the nodes. Once it is finished, the researcher removes the experiment. So the controller will ask the nodes to remove the overlay, reboot and come back to the original state.