Scroll to navigation

OWLTSIM(1) ICI executables OWLTSIM(1)

NAME

owltsim - one-way light time transmission delay simulator

SYNOPSIS

owltsim config_filename [-v]

DESCRIPTION

owltsim delays delivery of data between pairs of ION nodes by specified lengths of time, simulating the signal propagation delay imposed by distance between the nodes.

Its operation is configured by delay simulation configuration lines in the file identified by config_filename. A pair of threads is created for each line in the file: one that receives UDP datagrams on a specified port and queues them in a linked list, and a second that later removes queued datagrams from the linked list and sends them on to a specified UDP port on a specified network host.

Each configuration line must be of the following form:

to from my_port# dest_host dest_port# owlt modulus
This parameter is purely informational, intended to make owltsim's printed messages more helpful to the user.
A value of '*' may be used to indicate "all nodes". Again, this parameter is purely informational, intended to make owltsim's printed messages more helpful to the user.
A value of '0' specifies "no random data loss". Any other modulus value N causes owltsim to randomly drop (i.e., not transmit upon expiration of the delay interval) one out of every N packets.

The optional -v ("verbose") parameter causes owltsim to print a message whenever it receives, sends, or drops (due to artificial random data loss) a datagram.

Note that error conditions may cause one delay simulation (a pair of threads) to terminate without terminating any others.

owltsim is designed to run indefinitely. To terminate the program, just use control-C to kill it.

EXIT STATUS

"0" Nominal termination.
"1" Termination due to an error condition, as noted in printed messages.

EXAMPLES

Here is a sample owltsim configuration file:

2 7 5502 ptl07.jpl.nasa.gov 5001 75 0
7 2 5507 ptl02.jpl.nasa.gov 5001 75 16

This file indicates that owltsim will receive on port 5502 the ION traffic from node 2 that is destined for node 7, which will receive it at port 5001 on the computer named ptl07.jpl.nasa.gov; 75 seconds of delay (simulating a distance of 75 light seconds) will be imposed on this transmission activity, and owltsim will not simulate any random data loss.

In the reverse direction, owltsim will receive on port 5507 the ION traffic from node 7 that is destined for node 2, which will receive it at port 5001 on the computer named ptl02.jpl.nasa.gov; 75 seconds of delay will again be imposed on this transmission activity, and owltsim will randomly discard (i.e., not transmit upon expiration of the transmission delay interval) one datagram out of every 16 received at this port.

FILES

Not applicable.

ENVIRONMENT

No environment variables apply.

DIAGNOSTICS

The following diagnostics may be printed to stdout:

The program terminates.
Failure on reading the configuration file. The program terminates.
Failure on parsing the configuration file. The program terminates.
The program terminates.
The program terminates.
The program terminates.
The program terminates.
The program terminates.
The program terminates.
The program terminates.
Datagram transmission failed. This causes the threads for the affected delay simulation to terminate, without terminating any other threads.
Datagram transmission failed. This causes the threads for the affected delay simulation to terminate, without terminating any other threads.
This is an informational message. Due to an apparent bug in Internet protocol implementation, transmission of a datagram on a connected UDP socket occasionally fails. owltsim does not attempt to retransmit the affected datagram.

BUGS

Report bugs to <ion-bugs@korgano.eecs.ohiou.edu>

SEE ALSO

udplsi(1), udplso(1)

2016-07-07 perl v5.24.1