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:
- 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 <ion-bugs@korgano.eecs.ohiou.edu>
SEE ALSO¶
bpadmin(1),
bprc(5),
tcpclo(1)