tcpcli(1) DTN TCPCL-compliant convergence layer input task

SYNOPSIS

tcpcli local_hostname[:local_port_nbr]

DESCRIPTION

tcpcli is a background ``daemon'' task comprising 1 + N threads: one that handles TCP connections from remote tcpclo tasks, spawning sockets for data reception from those tasks, plus one input thread for each spawned socket to handle data reception over that socket.

The connection thread simply accepts connections on a TCP socket bound to local_hostname and local_port_nbr and spawns reception threads. The default value for local_port_nbr, if omitted, is 4556.

Each time a connection is established, the end-points will first exchange contact headers, because connection parameters need to be negotiated. tcpcli records the acknowledgement flags, reactive fragmentation flag and negative acknowledgements flag in the contact header it receives from its peer tcpclo task.

Each reception thread receives bundles over the associated connected socket. Each bundle received on the connection is preceded by message type, fragmentation flags, and size represented as an SDNV. The received bundles are passed to the bundle protocol agent on the local ION node.

tcpcli is spawned automatically by bpadmin in response to the 's' (START) command that starts operation of the Bundle Protocol; the text of the command that is used to spawn the task must be provided at the time the ``tcp'' convergence layer protocol is added to the BP database. The convergence layer input task is terminated by bpadmin in response to an 'x' (STOP) command. tcpcli can also be spawned and terminated in response to START and STOP commands that pertain specifically to the TCP convergence layer protocol.

EXIT STATUS

"0"
tcpcli terminated normally, for reasons noted in the ion.log file. If this termination was not commanded, investigate and solve the problem identified in the log file and use bpadmin to restart tcpcli.
"1"
tcpcli terminated abnormally, for reasons noted in the ion.log file. Investigate and solve the problem identified in the log file, then use bpadmin to restart tcpcli.

FILES

No configuration files are needed.

ENVIRONMENT

No environment variables apply.

DIAGNOSTICS

The following diagnostics may be issued to the ion.log log file:
tcpcli can't attach to BP.
bpadmin has not yet initialized Bundle Protocol operations.
No such tcp duct.
No TCP induct matching local_hostname and local_port_nbr has been added to the BP database. Use bpadmin to stop the TCP convergence-layer protocol, add the induct, and then restart the TCP protocol.
CLI task is already started for this duct.
Redundant initiation of tcpcli.
Can't get IP address for host
Operating system error. Check errtext, correct problem, and restart TCP.
Can't open TCP socket
Operating system error. Check errtext, correct problem, and restart TCP.
Can't initialize socket
Operating system error. Check errtext, correct problem, and restart TCP.
tcpcli can't create access thread
Operating system error. Check errtext, correct problem, and restart TCP.

BUGS

Report bugs to <[email protected]>