Bring linktest in line with the new event system world order and do some generic cleanup. I'm pretty sure I broke backwards compatibility with old disk images though... * configure, configure.in: Remove linktest.h.in from the list of template files. * event/linktest/GNUmakefile.in: Don't make subdirectories for executables since it can mess up the dependencies. Don't install tb_compat.tcl stuff anymore. Check for '/usr/local/bin/pathrate' and friends, and print out a warning if they are not found. Make a version file for the linktest daemon. * event/linktest/linktest.c: Only subscribe to the events we care about 'STOP/KILL'. Subscribe to TIME START events and kill any linktests that are in progress. Send events through the local elvind instead of running tevc. * event/linktest/linktest.pl.in: Don't run the modified NS anymore to generate the topology file, use gentopofile to do that. Send COMPLETE events to indicate that the tests were finished instead of STOP so it works with event-sequences. Use emulab-sync to report errors between linktest daemons. In addition to sending REPORT events, send LOG events to the SIMULATOR agent so the messages end up in the report e-mail. Fix wait_all so it collects child processes immediately and doesn't leave zombies lying around. Make the static route test work with topologies that aren't fully connected. Change ownership of the linktest error files from root to the swapper. Bump latency tolerance up to 2.5ms. * event/linktest/ltevent.c: Use event_schedule instead of event_notify so the events go through the scheduler. * event/linktest/run_linktest.pl.in: Wait for COMPLETE events insetad of STOPs. * event/linktest/linktest.h.in: Removed. * event/sched/error-record.c: Include linktest error output in the report e-mail. * event/sched/event-sched.c: Linktest now sends COMPLETE events for START events. * tbsetup/gentopofile.in, tmcd/common/config/rc.topomap: Piggy back the generation and management of the linktest config file onto the generation of the topomap. * tbsetup/ns2ir/sim.tcl.in: Add "linktest" event to the Simulator object that runs linktest at level 3 (latency, static routing, and loss). * tmcd/common/libsetup.pm: Add TMLTMAP constant that contains the path to the node local linktest config file. * tmcd/common/rc.linktest: Pass '-u' option to the linktest daemon so it knows what user should to change ownership of files to. * tmcd/freebsd/jail/mkjail.pl: Copy the linktest config file (ltmap) into the jail.
Showing with 474 additions and 216 deletions