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

# bptrace(1)

Bundle Protocol (BP) network trace utility

## NAME

bptrace - Bundle Protocol (BP) network trace utility

## SYNOPSIS

**bptrace** *own\_endpoint\_ID* *destination\_endpoint\_ID* *report-to\_endpoint\_ID* *TTL* *class\_of\_service* "*trace\_text*" \[*status\_report\_flags*\]

## DESCRIPTION

**bptrace** uses *bp\_send()* to issue a single bundle to a designated destination endpoint, with status reporting options enabled as selected by the user, then terminates.  The status reports returned as the bundle makes its way through the network provide a view of the operation of the network as currently configured.

*TTL* indicates the number of seconds the trace bundle may remain in the network, undelivered, before it is automatically destroyed.

*class\_of\_service* is *custody-requested*.*priority*\[.*ordinal*\[.*unreliable*.*critical*\[.*flow-label*\]\]\], where *custody-requested* must be 0 or 1 (Boolean), *priority* must be 0 (bulk) or 1 (standard) or 2 (expedited), *ordinal* must be 0-254, *unreliable* must be 0 or 1 (Boolean), *critical* must also be 0 or 1 (Boolean), and *flow-label* may be any unsigned integer.  *ordinal* is ignored if *priority* is not 2.  Setting *class\_of\_service* to "0.2.254" or "1.2.254" gives a bundle the highest possible priority.  Setting *unreliable* to 1 causes BP to forego retransmission in the event of data loss, both at the BP layer and at the convergence layer. Setting *critical* to 1 causes contact graph routing to forward the bundle on all plausible routes rather than just the "best" route it computes; this may result in multiple copies of the bundle arriving at the destination endpoint, but when used in conjunction with priority 2.254 it ensures that the bundle will be delivered as soon as physically possible.

*trace\_text* can be any string of ASCII text; alternatively, if we want to send a file, it can be "@" followed by the file name.

*status\_report\_flags* must be a sequence of status report flags, separated by commas, with no embedded whitespace.  Each status report flag must be one of the following: rcv, ct, fwd, dlv, del.

## EXIT STATUS

- "0"

  **bptrace** has terminated.

## FILES

No configuration files are needed.

## ENVIRONMENT

No environment variables apply.

## DIAGNOSTICS

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

- bptrace can't attach to BP.

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

- bptrace can't open own endpoint.

  Another BP application task currently has *own\_endpoint\_ID* open for bundle origination and reception.  Try again after that task has terminated. If no such task exists, it may have crashed while still holding the endpoint open; the easiest workaround is to select a different source endpoint.

- No space for bptrace text.

  Probably an unrecoverable database error, in which case the local ION node must be terminated and re-initialized.

- bptrace can't create ZCO.

  Probably an unrecoverable database error, in which case the local ION node must be terminated and re-initialized.

- bptrace can't send message.

  BP system error.  Check for earlier diagnostic messages describing the cause of the error; correct problem and rerun.

## BUGS

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

## SEE ALSO

[*bp*(3)](/bp/3.md)
