---
name: "bssprc"
section: "5"
platform: "linux"
package: "ion"
version: "3.2.1+dfsg-1.1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/bssprc"
---

# bssprc(5)

Bundle Streaming Service Protocol management commands file

## NAME

bssprc - Bundle Streaming Service Protocol management commands file

## DESCRIPTION

BSSP management commands are passed to **bsspadmin** either in a file of text lines or interactively at **bsspadmin**'s command prompt (:).  Commands are interpreted line-by line, with exactly one command per line.  The formats and effects of the BSSP 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 bsspadmin 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\_nbr\_of\_sessions*

  The **initialize** command.  Until this command is executed, BSSP is not in operation on the local ION node and most *bsspadmin* commands will fail.

  The command uses *est\_max\_nbr\_of\_sessions* to configure the hashtable it will use to manage access to transmission sessions that are currently in progress.  For optimum performance, *est\_max\_nbr\_of\_sessions* should normally equal or exceed the summation of *max\_nbr\_of\_sessions* over all spans as discussed below.

- **a span** *peer\_engine\_nbr* *max\_nbr\_of\_sessions* *max\_block\_size* '*BE-BSO\_command*' '*RL-BSO\_command* \[*queuing\_latency*\]

  The **add span** command.  This command declares that a *span* of potential BSSP data interchange exists between the local BSSP engine and the indicated (neighboring) BSSP engine.

  The *max\_block\_size* is expressed as a number of bytes of data. *max\_block\_size* is used to configure transmission buffer sizes; as such, it limits client data item size.

  *max\_nbr\_of\_\_sessions* constitutes, in effect, the local BSSP engine's retransmission "window" for this span.  The retransmission windows of the spans impose flow control on BSSP transmission, reducing the chance ofx allocation of all available space in the ION node's data store to BSSP transmission sessions.

  *BE-BSO\_command* is script text that will be executed when BSSP is started on this node, to initiate operation of the best-efforts transmission channel task for this span.  Note that " *peer\_engine\_nbr*" will automatically be appended to *BE-BSO\_command* by **bsspadmin** before the command is executed, so only the link-service-specific portion of the command should be provided in the *LSO\_command* string itself.

  *RL-BSO\_command* is script text that will be executed when BSSP is started on this node, to initiate operation of the reliable transmission channel task for this span.  Note that " *peer\_engine\_nbr*" will automatically be appended to *RL-BSO\_command* by **bsspadmin** 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\_nbr\_of\_sessions* *max\_block\_size* '*BE-BSO\_command*' '*RL-BSO\_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 BSSP data interchange spans.

- **s** '*BE-BSI\_command*' '*RL-BSI\_command*'

  The **start** command.  This command starts reliable and best-efforts link service output tasks for all BSSP spans (to remote engines) from the local BSSP engine, and it starts the reliable and best-efforts link service input tasks for the local engine.

- **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 BSSP 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 BSSP engine.

- **w** { 0 \| 1 \| \<activity\_spec\> }

  The **BSSP watch** command.  This command enables and disables production of a continuous stream of user-selected BSSP activity indication characters.  A watch parameter of "1" selects all BSSP activity indication characters; "0" de-selects all BSSP activity indication characters; any other *activity\_spec* such as "df=" selects all activity indication characters in the string, de-selecting all others.  BSSP will print each selected activity indication character to **stdout** every time a processing event of the associated type occurs:

  **d**	bssp send completed

  **e**	bssp block constructed for issuance

  **f**	bssp block issued

  **g**	bssp block popped from best-efforts transmission queue

  **h**	positive ACK received for bssp block, session ended

  **s**	bssp block received

  **t**	bssp block popped from reliable transmission queue

  **=**	unacknowledged best-efforts block requeued for reliable transmission

  **{**	session canceled locally by sender

- **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 4096 'udpbso node19.ohio.edu:5001' 'tcpbso node19.ohio.edu:5001'

  Declares a data interchange span between the local BSSP engine and the remote engine (ION node) numbered 19.  There can be at most 20 concurrent sessions of BSSP transmission activity to this node.  Maximum block size for this span is set to 4096 bytes, and the best-efforts and reliable link service output tasks that are initiated when BSSP is started on the local ION node will execute the *udpbso* and *tcpbso* programs as indicated.

- m ownqtime 2

  Sets local queuing delay allowance to 2 seconds.

## SEE ALSO

[*bsspadmin*(1)](/bsspadmin/1.md), [*udpbsi*(1)](/udpbsi/1.md), [*udpbso*(1)](/udpbso/1.md), [*tcpbsi*(1)](/tcpbsi/1.md), [*tcpbso*(1)](/tcpbso/1.md)
