Linktest Tutorial

Contents


Quick Start

To run linktest, select a Linktest test level from the dropdown on the Begin an Experiment page.

If you select a test lest level other than 0, Linktest will run after the experiment completes its swapin. If a problem is found, testbed-ops is automatically notified and a message will appear in the activation log. Otherwise, no notification will appear.


Understanding Linktest

Linktest is an end-to-end validation test for Emulab experiments. It verifies that experiment nodes are up, that they are reachable by static routes (when applicable), and that traffic shaping on delay nodes matches the experiment NS script.

Linktest works by parsing the experiment NS script, then invoking external measurement tools -- namely ping, Rude and Crude and Pathrate. Linktest compares the results against margins of error calculated in advance to identify major errors in configuration.

Linktest runs on each experiment node. The Linktest daemon waits for a custom event instructing it to begin testing. When it receives the event, it invokes the Linktest script to conduct the actual tests. The script invokes external processes to parse the NS script, validate links and log any errors found.

If a node detects an error, it writes an explanatory message to the experiment tbdata/linktest directory. Otherwise, no messages appear in the directory after Linktest completes its run.

Linktest uses test levels to select which tests to perform. Test levels are cumulative, so that selecting a higher test level ensures lower-level tests are also run. Test levels are ordered in length of time to complete, so that Level 4 - Bandwidth takes the most time and Level 1 - Connectivity and Latency takes the least.

Read more about each test level in the following sections:


Advanced Topics

To run Linktest after experiment swapin, manually invoke the script run_linktest.pl on ops or use tevc to send a custom Linktest event. You may also examine Linktest output in its log directory. Read about these options in the following sections: