BSSPRC(5)

πŸ“¦ version 3.2.1, in ubuntu jammy

okay bestie, welcome to bssprc β€” it lives in section 5 of the manual, aka the BSSP configuration files page. it's literally the file where you keep your Bundle Streaming Service Protocol management commands. πŸ’–


✨ NAME ✨

bssprc β€” the Bundle Streaming Service Protocol management commands file πŸŽ€

🌸 DESCRIPTION 🌸

okay so here's the vibe: BSSP management commands get handed to bsspadmin either in a file of text lines, or interactively at bsspadmin's command prompt, which is :. πŸ‘‘

commands are interpreted line by line, with exactly one command per line β€” no stacking, no sneaking two in, that's the rule. the formats and the effects of the BSSP management commands are all described below. πŸ’…

πŸ”₯ COMMANDS πŸ”₯

  • ? β€” the help command. it shows you a listing of the commands and their formats. it is the same as the h command. 🫢
  • # β€” comment line. lines beginning with # are not interpreted, periodt.
  • 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 the 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 one declares that a span of potential BSSP data interchange exists between the local BSSP engine and the indicated (neighboring) BSSP engine. πŸ¦‹

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 of 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 is 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 one sets the indicated span's configuration parameters to the values you provided as arguments. πŸŽ€
  • d span peer_engine_nbr β€” the delete span command. deletes the span identified by peer_engine_nbr.
⚠️ heads up: this command will fail if any outbound segments for this span are pending transmission, or if any inbound blocks from the peer engine are incomplete. no cap.
  • i span peer_engine_nbr β€” this one prints information (all configuration parameters) about the span identified by peer_engine_nbr.
  • l span β€” this one lists all declared BSSP data interchange spans. 🌈
  • s 'BE-BSI_command' 'RL-BSI_command' β€” the start command. this 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 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 stops all link service input and output tasks for the local BSSP engine. πŸ’€
  • w { 0 | 1 | <activity_spec> } β€” the BSSP watch command. this 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'

this one 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), udpbsi(1), udpbso(1), tcpbsi(1), tcpbso(1)


and that's the whole page, bestie β€” this one came to you courtesy of perl v5.24.1, dated 2016-07-07. go configure some spans, you've got this. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from