Scroll to navigation

TCPCLI(1) BP executables TCPCLI(1)

NAME

tcpcli - 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:

bpadmin has not yet initialized Bundle Protocol operations.
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.
Redundant initiation of tcpcli.
Operating system error. Check errtext, correct problem, and restart TCP.
Operating system error. Check errtext, correct problem, and restart TCP.
Operating system error. Check errtext, correct problem, and restart TCP.
Operating system error. Check errtext, correct problem, and restart TCP.

BUGS

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

SEE ALSO

bpadmin(1), bprc(5), tcpclo(1)

2016-07-07 perl v5.24.1