Skip to content

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[.data-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 data-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 <https://github.com/nasa-jpl/ION-DTN/issues>

SEE ALSO

bp(3)