NAME¶
bprc - Bundle Protocol management commands file
DESCRIPTION¶
Bundle Protocol management commands are passed to
bpadmin either in a
file of text lines or interactively at
bpadmin's command prompt (:).
Commands are interpreted line-by line, with exactly one command per line. The
formats and effects of the Bundle Protocol management commands are described
below.
GENERAL 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 bpadmin to be logged as well as sent to stdout. Setting echo to 0
disables this behavior.
- 1
- The initialize command. Until this command is
executed, Bundle Protocol is not in operation on the local ION node and
most bpadmin commands will fail.
- r 'command_text'
- The run command. This command will execute
command_text as if it had been typed at a console prompt. It is
used to, for example, run another administrative program.
- s
- The start command. This command starts all schemes
and all protocols on the local node.
- m heapmax
max_database_heap_per_acquisition
- The manage heap for bundle acquisition command. This
command declares the maximum number of bytes of SDR heap space that will
be occupied by any single bundle acquisition activity (nominally the
acquisition of a single bundle, but this is at the discretion of the
convergence-layer input task). All data acquired in excess of this limit
will be written to a temporary file pending extraction and dispatching of
the acquired bundle or bundles. Default is the size of a ZCO file
reference object, the minimum SDR heap space occupancy in the event that
all acquisition is into a file.
- x
- The stop command. This command stops all schemes and
all protocols on the local node.
- w { 0 | 1 | activity_spec }
- The BP watch command. This command enables and
disables production of a continuous stream of user-selected Bundle
Protocol activity indication characters. A watch parameter of
"1" selects all BP activity indication characters; "0"
de-selects all BP activity indication characters; any other
activity_spec such as "acz~" selects all activity
indication characters in the string, de-selecting all others. BP will
print each selected activity indication character to stdout every
time a processing event of the associated type occurs:
a new bundle is queued for forwarding
b bundle is queued for transmission
c bundle is popped from its transmission queue
m custody acceptance signal is received
w custody of bundle is accepted
x custody of bundle is refused
y bundle is accepted upon arrival
z bundle is queued for delivery to an application
~ bundle is abandoned (discarded) on attempt to forward it
! bundle is destroyed due to TTL expiration
& custody refusal signal is received
# bundle is queued for re-forwarding due to CL protocol failure
j bundle is placed in "limbo" for possible future
re-forwarding
k bundle is removed from "limbo" and queued for
re-forwarding
- h
- The help command. This will display a listing of the
commands and their formats. It is the same as the ? command.
SCHEME COMMANDS¶
- a scheme scheme_name
'forwarder_command' ' admin_app_command'
- The add scheme command. This command declares an
endpoint naming "scheme" for use in endpoint IDs, which are
structured as URIs: scheme_name:scheme-specific_part.
forwarder_command will be executed when the scheme is started on
this node, to initiate operation of a forwarding daemon for this scheme.
admin_app_command will also be executed when the scheme is started
on this node, to initiate operation of a daemon that opens a custodian
endpoint identified within this scheme so that it can receive and process
custody signals and bundle status reports.
- c scheme scheme_name
'forwarder_command' ' admin_app_command'
- The change scheme command. This command sets the
indicated scheme's forwarder_command and admin_app_command
to the strings provided as arguments.
- d scheme scheme_name
- The delete scheme command. This command deletes the
scheme identified by scheme_name. The command will fail if any
bundles identified in this scheme are pending forwarding, transmission, or
delivery.
- i scheme scheme_name
- This command will print information (number and commands)
about the endpoint naming scheme identified by scheme_name.
- l scheme
- This command lists all declared endpoint naming
schemes.
- s scheme scheme_name
- The start scheme command. This command starts the
forwarder and administrative endpoint tasks for the indicated scheme task
on the local node.
- x scheme scheme_name
- The stop scheme command. This command stops the
forwarder and administrative endpoint tasks for the indicated scheme task
on the local node.
ENDPOINT COMMANDS¶
- a endpoint endpoint_ID { q | x }
['recv_script']
- The add endpoint command. This command establishes a
DTN endpoint named endpoint_ID on the local node. The remaining
parameters indicate what is to be done when bundles destined for this
endpoint arrive at a time when no application has got the endpoint open
for bundle reception. If 'x', then such bundles are to be discarded
silently and immediately. If 'q', then such bundles are to be enqueued for
later delivery and, if recv_script is provided, recv_script
is to be executed.
- c endpoint endpoint_ID { q | x }
['recv_script']
- The change endpoint command. This command changes
the action that is to be taken when bundles destined for this endpoint
arrive at a time when no application has got the endpoint open for bundle
reception, as described above.
- d endpoint endpoint_ID
- The delete endpoint command. This command deletes
the endpoint identified by endpoint_ID. The command will fail if
any bundles are currently pending delivery to this endpoint.
- i endpoint endpoint_ID
- This command will print information (disposition and
script) about the endpoint identified by endpoint_ID.
- l endpoint
- This command lists all local endpoints, regardless of
scheme name.
PROTOCOL COMMANDS¶
- a protocol protocol_name
payload_bytes_per_frame overhead_bytes_per_frame
[nominal_data_rate]
- The add protocol command. This command establishes
access to the named convergence layer protocol at the local node. The
payload_bytes_per_frame and overhead_bytes_per_frame
arguments are used in calculating the estimated transmission capacity
consumption of each bundle, to aid in route computation and congestion
forecasting.
The optional nominal_data_rate argument overrides the hard-coded
default continuous data rate for the indicated protocol, for purposes of
rate control. For all CL protocols other than LTP, the protocol's
applicable nominal continuous data rate is the data rate that is always
used for rate control over links served by that protocol; data rates are
not extracted from contact graph information. This is because only the LTP
induct and outduct throttles can be dynamically adjusted in response to
changes in data rate between the local node and its neighbors, because
(currently) there is no mechanism for mapping neighbor node number to the
duct name for any other CL protocol. For LTP, duct name is simply LTP
engine number which, by convention, is identical to node number. For all
other CL protocols, the nominal data rate in each induct and outduct
throttle is initially set to the protocol's configured nominal data rate
and is never subsequently modified.
- d protocol protocol_name
- The delete protocol command. This command deletes
the convergence layer protocol identified by protocol_name. The
command will fail if any ducts are still locally declared for this
protocol.
- i protocol protocol_name
- This command will print information about the convergence
layer protocol identified by protocol_name.
- l protocol
- This command lists all convergence layer protocols that can
currently be utilized at the local node.
- s protocol protocol_name
- The start protocol command. This command starts all
induct and outduct tasks for inducts and outducts that have been defined
for the indicated CL protocol on the local node.
- x protocol protocol_name
- The stop protocol command. This command stops all
induct and outduct tasks for inducts and outducts that have been defined
for the indicated CL protocol on the local node.
INDUCT COMMANDS¶
- a induct protocol_name duct_name
'CLI_command'
- The add induct command. This command establishes a
"duct" for reception of bundles via the indicated CL protocol.
The duct's data acquisition structure is used and populated by the
"induct" task whose operation is initiated by CLI_command
at the time the duct is started.
- c induct protocol_name duct_name
'CLI_command'
- The change induct command. This command changes the
command that is used to initiate operation of the induct task for the
indicated duct.
- d induct protocol_name duct_name
- The delete induct command. This command deletes the
induct identified by protocol_name and duct_name. The
command will fail if any bundles are currently pending acquisition via
this induct.
- i induct protocol_name duct_name
- This command will print information (the CLI command) about
the induct identified by protocol_name and duct_name.
- l induct [protocol_name]
- If protocol_name is specified, this command lists
all inducts established locally for the indicated CL protocol. Otherwise
it lists all locally established inducts, regardless of protocol.
- s induct protocol_name duct_name
- The start induct command. This command starts the
indicated induct task as defined for the indicated CL protocol on the
local node.
- x induct protocol_name duct_name
- The stop induct command. This command stops the
indicated induct task as defined for the indicated CL protocol on the
local node.
OUTDUCT COMMANDS¶
- a outduct protocol_name duct_name
'CLO_command' [ max_payload_length]
- The add outduct command. This command establishes a
"duct" for transmission of bundles via the indicated CL
protocol. The duct's data transmission structure is serviced by the
"outduct" task whose operation is initiated by
CLO_command at the time the duct is started. A value of zero for
max_payload_length indicates that bundles of any size can be
accommodated; this is the default.
- c outduct protocol_name duct_name
'CLO_command' [ max_payload_length]
- The change outduct command. This command sets new
values for the indicated duct's payload size limit and the command that is
used to initiate operation of the outduct task for this duct.
- d outduct protocol_name duct_name
- The delete outduct command. This command deletes the
outduct identified by protocol_name and duct_name. The
command will fail if any bundles are currently pending transmission via
this outduct.
- i outduct protocol_name duct_name
- This command will print information (the CLO command) about
the outduct identified by protocol_name and duct_name.
- l outduct [protocol_name]
- If protocol_name is specified, this command lists
all outducts established locally for the indicated CL protocol. Otherwise
it lists all locally established outducts, regardless of protocol.
- s outduct protocol_name duct_name
- The start outduct command. This command starts the
indicated outduct task as defined for the indicated CL protocol on the
local node.
- b outduct protocol_name duct_name
- The block outduct command. This command disables
transmission of bundles via the indicated outduct and reforwards all
non-critical bundles currently queued for transmission via this
outduct.
- u outduct protocol_name duct_name
- The unblock outduct command. This command re-enables
transmission of bundles via the indicated outduct and reforwards all
bundles in "limbo" in the hope that the unblocking of this
outduct will enable some of them to be transmitted.
- x outduct protocol_name duct_name
- The stop outduct command. This command stops the
indicated outduct task as defined for the indicated CL protocol on the
local node.
EXAMPLES¶
- a scheme ipn 'ipnfw' 'ipnadminep'
- Declares the "ipn" scheme on the local node.
- a protocol udp 1400 100 16384
- Establishes access to the "udp" convergence layer
protocol on the local node, estimating the number of payload bytes per
ultimate (lowest-layer) frame to be 1400 with 100 bytes of total overhead
(BP, UDP, IP, AOS) per lowest-layer frame, and setting the default nominal
data rate to be 16384 bytes per second.
- r 'ipnadmin flyby.ipnrc'
- Runs the administrative program ipnadmin from within
bpadmin.
SEE ALSO¶
bpadmin(1),
ipnadmin(1),
dtn2admin(1)