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

# bssfw(1)

bundle route computation task for the IPN scheme, adapted for Bundle Streaming Service

## NAME

bssfw - bundle route computation task for the IPN scheme, adapted for Bundle Streaming Service

## SYNOPSIS

**bssfw**

## DESCRIPTION

**bssfw** is a background "daemon" task that pops bundles from the queue of bundle destined for IPN-scheme endpoints, computes proximate destinations for those bundles, and appends those bundles to the appropriate queues of bundles pending transmission to those computed proximate destinations.

For each possible proximate destination (that is, neighboring node) there is a separate queue for each possible level of bundle priority: 0, 1, 2.  Each outbound bundle is appended to the queue matching the bundle's designated priority.

Proximate destination computation is affected by static and default routes as configured by [*bssadmin*(1)](/bssadmin/1.md) and by contact graphs as managed by [*ionadmin*(1)](/ionadmin/1.md) and [*rfxclock*(1)](/rfxclock/1.md).  **bssfw** differs from **ipnfw** in this way: a bundle that is destined for an endpoint associated with a BSS application (as registered in an "entry" passed to [*bssadmin*(1)](/bssadmin/1.md) in a [*bssrc*(5)](/bssrc/5.md) command) is forwarded via a duct identified in a separately defined real-time or playback duct expression, rather than the standard duct that is used for non-BSS traffic.

**bssfw** is spawned automatically by **bpadmin** in response to the 's' (START) command that starts operation of Bundle Protocol on the local ION node, and it is terminated by **bpadmin** in response to an 'x' (STOP) command.  **bssfw** can also be spawned and terminated in response to START and STOP commands that pertain specifically to the IPN scheme.

## EXIT STATUS

- "0"

  **bssfw** terminated, for reasons noted in the **ion.log** log file.  If this termination was not commanded, investigate and solve the problem identified in the log file and use **bpadmin** to restart **bssfw**.

- "1"

  **bssfw** could not commence operations, for reasons noted in the **ion.log** log file.  Investigate and solve the problem identified in the log file, then use **bpadmin** to restart **bssfw**.

## FILES

No configuration files are needed.

## ENVIRONMENT

No environment variables apply.

## DIAGNOSTICS

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

- bssfw can't attach to BP.

  **bpadmin** has not yet initialized BP operations.

- bssfw can't load routing database.

  **bssadmin** has not yet initialized the IPN scheme.

- Can't create lists for route computation.

  An unrecoverable database error was encountered.  **bssfw** terminates.

- 'bss' scheme is unknown.

  The IPN scheme was not added when **bpadmin** initialized BP operations.  Use **bpadmin** to add and start the scheme.

- Can't take forwarder semaphore.

  ION system error.  **bssfw** terminates.

- Can't exclude sender from routes.

  An unrecoverable database error was encountered.  **bssfw** terminates.

- Can't enqueue bundle.

  An unrecoverable database error was encountered.  **bssfw** terminates.

## BUGS

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

## SEE ALSO

[*bpadmin*(1)](/bpadmin/1.md), [*bssadmin*(1)](/bssadmin/1.md), [*bprc*(5)](/bprc/5.md), [*bssrc*(5)](/bssrc/5.md).
