A MSRPC-based control interface is defined for fine-grain remote control of the experiment environment. Each user space part of the traffic generator must export this interface.
The control interface, defined in master/iface/msdr/traffctrl.x, consists of three procedures and there is a corresponding Unix utility to invoke each of the procedures:
When this procedure is invoked, the traffic control server, i.e. the user space part of the traffic generator loads the file specified in the call. Additional parameters are allowed as options to the command. This is particularly useful for the "Star Wars" trace which uses an optional parameter to specify the number of trace files (each consists of about two minutes trace) to load.
The usage of the corresponding Unix tool is:
load traffic_generating_machine_name trace_file_name [opts]
An arbitrary number of options is allowed. The command makes an estimation of the amount of time required to load the file(s) and set RPC timeout accordingly. The program blocks until all files are loaded or the RPC timeout occurs.
The usage of the corresponding Unix tool is:
connect traffic_generating_machine_name traffic_sinking_machine
traffic_generating_machine_name can be specified using either a machine name or an MSNL address.
This instructs the traffic control server to start generating traffic on the MSNL connection to the traffic sink machine. Upon getting this call, the traffic source controller spawns off a Wanda traffic generating thread, and returns from the RPC immediately.
The usage of the corresponding Unix tool is:
start traffic_generating_machine_name number_of_iterations
number_of_iterations indicates the number of times the loaded trace file should be executed.