Provided by: ion_3.2.1+dfsg-1_amd64 bug

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.

       v   Version number.  Prints out the version of ION currently installed and the crypto
           suite BP was compiled with.  HINT: combine with e 1 command to log the version number
           at startup.

       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)