Provided by: ion_3.2.1+dfsg-1_amd64 bug

NAME

       brsccla - BRSC-based BP convergence layer adapter (input and output) task

SYNOPSIS

       brsccla server_hostname[:server_port_nbr]_own_node_nbr

DESCRIPTION

       BRSC is the "client" side of the Bundle Relay Service (BRS) convergence layer protocol for
       BP.  It is complemented by BRSS, the "server" side of the BRS convergence layer protocol
       for BP.  BRS clients send bundles directly only to the server, regardless of their final
       destinations, and the server forwards them to other clients as necessary.

       brsccla is a background "daemon" task comprising three threads: one that connects to the
       BRS server, spawns the other threads, and then handles BRSC protocol output by
       transmitting bundles over the connected socket to the BRS server; one that simply sends
       periodic "keepalive" messages over the connected socket to the server (to assure that
       local inactivity doesn't cause the connection to be lost); and one that handles BRSC
       protocol input from the connected server.

       The output thread connects to the server's TCP socket at server_hostname and
       server_port_nbr, sends over the connected socket the client's own_node_nbr (in SDNV
       representation) followed by a 32-bit time tag and a 160-bit HMAC-SHA1 digest of that time
       tag, to authenticate itself; checks the authenticity of the 160-bit countersign returned
       by the server; spawns the keepalive and receiver threads; and then begins extracting
       bundles from the queues of bundles ready for transmission via BRSC and transmitting those
       bundles over the connected socket to the server.  Each transmitted bundle is preceded by
       its length, a 32-bit unsigned integer in network byte order.  The default value for
       server_port_nbr, if omitted, is 80.

       The reception thread receives bundles over the connected socket and passes them to the
       bundle protocol agent on the local ION node.  Each bundle received on the connection is
       preceded by its length, a 32-bit unsigned integer in network byte order.

       The keepalive thread simply sends a "bundle length" value of zero (a 32-bit unsigned
       integer in network byte order) to the server once every 15 seconds.

       Note that brsccla is not a "promiscuous" convergence layer daemon: it can transmit bundles
       only to the BRS server to which it is connected, so scheme configuration directives that
       cite this outduct need only provide the protocol name and the BRSC outduct name as
       specified on the command line when brsccla is started.

       brsccla is spawned automatically by bpadmin in response to the 's' (START) command that
       starts operation of the Bundle Protocol, and it is terminated by bpadmin in response to an
       'x' (STOP) command.  brsccla can also be spawned and terminated in response to START and
       STOP commands that pertain specifically to the BRSC convergence layer protocol.

EXIT STATUS

       "0" brsccla 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 the BRSC protocol.

       "1" brsccla 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 the BRSC
           protocol.

FILES

       No configuration files are needed.

ENVIRONMENT

       No environment variables apply.

DIAGNOSTICS

       The following diagnostics may be issued to the ion.log log file:

       brsccla can't attach to BP.
           bpadmin has not yet initialized Bundle Protocol operations.

       No such brsc induct.
           No BRSC induct with duct name matching server_hostname, own_node_nbr, and
           server_port_nbr has been added to the BP database.  Use bpadmin to stop the BRSC
           convergence-layer protocol, add the induct, and then restart the BRSC protocol.

       CLI task is already started for this duct.
           Redundant initiation of brsccla.

       No such brsc outduct.
           No BRSC outduct with duct name matching server_hostname, own_node_nbr, and
           server_port_nbr has been added to the BP database.  Use bpadmin to stop the BRSC
           convergence-layer protocol, add the outduct, and then restart the BRSC protocol.

       Can't connect to server.
           Operating system error.  Check errtext, correct problem, and restart BRSC.

       Can't register with server.
           Configuration error.  Authentication has failed, probably because (a) the client and
           server are using different HMAC/SHA1 keys or (b) the clocks of the client and server
           differ by more than 5 seconds.  Update security policy database(s), as necessary, and
           assure that the clocks are synchronized.

       brsccla can't create receiver thread
           Operating system error.  Check errtext, correct problem, and restart BRSC.

       brsccla can't create keepalive thread
           Operating system error.  Check errtext, correct problem, and restart BRSC.

BUGS

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

SEE ALSO

       bpadmin(1), bprc(5), brsscla(1)