ltprc(5) Licklider Transmission Protocol management commands file

DESCRIPTION

LTP management commands are passed to ltpadmin either in a file of text lines or interactively at ltpadmin's command prompt (:). Commands are interpreted line-by line, with exactly one command per line. The formats and effects of the LTP management commands are described below.

COMMANDS

?
The help command. This will display a listing of the commands and their formats. It is the same as the h command.
#
Comment line. Lines beginning with # are not interpreted.
e { 1 | 0 }
Echo control. Setting echo to 1 causes all output printed by ltpadmin to be logged as well as sent to stdout. Setting echo to 0 disables this behavior.
v
Version number. Prints out the version of ION currently installed. HINT: combine with e 1 command to log the version number at startup.
1 est_max_export_sessions
The initialize command. Until this command is executed, LTP is not in operation on the local ION node and most ltpadmin commands will fail.

The command uses est_max_export_sessions to configure the hashtable it will use to manage access to export transmission sessions that are currently in progress. For optimum performance, est_max_export_sessions should normally equal or exceed the summation of max_export_sessions over all spans as discussed below.

Appropriate values for the parameters configuring each ``span'' of potential LTP data exchange between the local LTP and neighboring engines are non-trivial to determine. See the ION LTP configuration spreadsheet and accompanying documentation for details.

a span peer_engine_nbr max_export_sessions max_import_sessions max_segment_size aggregation_size_limit aggregation_time_limit 'LSO_command' [queuing_latency]
The add span command. This command declares that a span of potential LTP data interchange exists between the local LTP engine and the indicated (neighboring) LTP engine.

The max_segment_size and aggregation_size_limit are expressed as numbers of bytes of data. max_segment_size limits the size of each of the segments into which each outbound data block will be divided; typically this limit will be the maximum number of bytes that can be encapsulated within a single transmission frame of the underlying link service.

aggregation_size_limit limits the number of LTP service data units (e.g., bundles) that can be aggregated into a single block: when the sum of the sizes of all service data units aggregated into a block exceeds this limit, aggregation into this block must cease and the block must be segmented and transmitted.

aggregation_time_limit alternatively limits the number of seconds that any single export session block for this span will await aggregation before it is segmented and transmitted regardless of size. The aggregation time limit prevents undue delay before the transmission of data during periods of low activity.

max_export_sessions constitutes, in effect, the local LTP engine's retransmission ``window'' for this span. The retransmission windows of the spans impose flow control on LTP transmission, reducing the chance of allocation of all available space in the ION node's data store to LTP transmission sessions.

max_import_sessions is simply the neighoring engine's own value for the corresponding export session parameter; it is the neighboring engine's retransmission window size for this span. It reduces the chance of allocation of all available space in the ION node's data store to LTP reception sessions.

LSO_command is script text that will be executed when LTP is started on this node, to initiate operation of a link service output task for this span. Note that " peer_engine_nbr" will automatically be appended to LSO_command by ltpadmin before the command is executed, so only the link-service-specific portion of the command should be provided in the LSO_command string itself.

queuing_latency is the estimated number of seconds that we expect to lapse between reception of a segment at this node and transmission of an acknowledging segment, due to processing delay in the node. (See the 'm ownqtime' command below.) The default value is 1.

If queuing latency a negative number, the absolute value of this number is used as the actual queuing latency and session purging is enabled; otherwise session purging is disabled. If session purging is enabled for a span then at the end of any period of transmission over this span all of the span's export sessions that are currently in progress are automatically canceled. Notionally this forces re-forwarding of the DTN bundles in each session's block, to avoid having to wait for the restart of transmission on this span before those bundles can be successfully transmitted.

c span peer_engine_nbr max_export_sessions max_import_sessions max_segment_size aggregation_size_limit aggregation_time_limit 'LSO_command' [queuing_latency]
The change span command. This command sets the indicated span's configuration parameters to the values provided as arguments.
d span peer_engine_nbr
The delete span command. This command deletes the span identified by peer_engine_nbr. The command will fail if any outbound segments for this span are pending transmission or any inbound blocks from the peer engine are incomplete.
i span peer_engine_nbr
This command will print information (all configuration parameters) about the span identified by peer_engine_nbr.
l span
This command lists all declared LTP data interchange spans.
s 'LSI command'
The start command. This command starts link service output tasks for all LTP spans (to remote engines) from the local LTP engine, and it starts the link service input task for the local engine.
m screening { y | n }
The manage screening command. This command enables or disables the screening of received LTP segments per the periods of scheduled reception in the node's contact graph. By default, screening is disabled --- that is, LTP segments from a given remote LTP engine (ION node) may be accepted even when they arrive during an interval when the contact graph says the data rate from that engine to the local LTP engine is zero. When screening is enabled, such segments are silently discarded. Note that when screening is enabled the ranges declared in the contact graph must be accurate and clocks must be synchronized; otherwise, segments will be arriving at times other than the scheduled contact intervals and will be discarded.
m ownqtime own_queuing_latency
The manage own queuing time command. This command sets the number of seconds of predicted additional latency attributable to processing delay within the local engine itself that should be included whenever LTP computes the nominal round-trip time for an exchange of data with any remote engine. The default value is 1.
x
The stop command. This command stops all link service input and output tasks for the local LTP engine.
w { 0 | 1 | <activity_spec> }
The LTP watch command. This command enables and disables production of a continuous stream of user-selected LTP activity indication characters. A watch parameter of ``1'' selects all LTP activity indication characters; ``0'' de-selects all LTP activity indication characters; any other activity_spec such as ``df{]'' selects all activity indication characters in the string, de-selecting all others. LTP will print each selected activity indication character to stdout every time a processing event of the associated type occurs:

d    bundle appended to block for next session

e    segment of block is queued for transmission

f    block has been fully segmented for transmission

g    segment popped from transmission queue

h    positive ACK received for block, session ended

s    segment received

t    block has been fully received

@    negative ACK received for block, segments retransmitted

=    unacknowledged checkpoint was retransmitted

+    unacknowledged report segment was retransmitted

{    export session canceled locally (by sender)

}    import session canceled by remote sender

[    import session canceled locally (by receiver)

]    export session canceled by remote receiver

h
The help command. This will display a listing of the commands and their formats. It is the same as the ? command.

EXAMPLES

a span 19 20 5 1024 32768 2 'udplso node19.ohio.edu:5001'
Declares a data interchange span between the local LTP engine and the remote engine (ION node) numbered 19. There can be at most 20 concurrent sessions of export activity to this node. Conversely, node 19 can have at most 5 concurrent sessions of export activity to the local node. Maximum segment size for this span is set to 1024 bytes, aggregation size limit is 32768 bytes, aggregation time limit is 2 seconds, and the link service output task that is initiated when LTP is started on the local ION node will execute the udplso program as indicated.
m screening n
Disables strict enforcement of the contact schedule.