.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "BPRC 5" .TH BPRC 5 "2014-07-08" "perl v5.20.1" "BP configuration files" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" bprc \- Bundle Protocol management commands file .SH "DESCRIPTION" .IX Header "DESCRIPTION" Bundle Protocol management commands are passed to \fBbpadmin\fR either in a file of text lines or interactively at \fBbpadmin\fR'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. .SH "GENERAL COMMANDS" .IX Header "GENERAL COMMANDS" .IP "\fB?\fR" 4 .IX Item "?" The \fBhelp\fR command. This will display a listing of the commands and their formats. It is the same as the \fBh\fR command. .IP "\fB#\fR" 4 .IX Item "#" Comment line. Lines beginning with \fB#\fR are not interpreted. .IP "\fBe\fR { 1 | 0 }" 4 .IX Item "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. .IP "\fBv\fR" 4 .IX Item "v" Version number. Prints out the version of \s-1ION\s0 currently installed and the crypto suite \s-1BP\s0 was compiled with. \s-1HINT:\s0 combine with \fBe 1\fR command to log the version number at startup. .IP "\fB1\fR" 4 .IX Item "1" The \fBinitialize\fR command. Until this command is executed, Bundle Protocol is not in operation on the local \s-1ION\s0 node and most \fIbpadmin\fR commands will fail. .IP "\fBr\fR '\fIcommand_text\fR'" 4 .IX Item "r 'command_text'" The \fBrun\fR command. This command will execute \fIcommand_text\fR as if it had been typed at a console prompt. It is used to, for example, run another administrative program. .IP "\fBs\fR" 4 .IX Item "s" The \fBstart\fR command. This command starts all schemes and all protocols on the local node. .IP "\fBm heapmax\fR \fImax_database_heap_per_acquisition\fR" 4 .IX Item "m heapmax max_database_heap_per_acquisition" The \fBmanage heap for bundle acquisition\fR command. This command declares the maximum number of bytes of \s-1SDR\s0 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 \s-1ZCO\s0 file reference object, the minimum \s-1SDR\s0 heap space occupancy in the event that all acquisition is into a file. .IP "\fBx\fR" 4 .IX Item "x" The \fBstop\fR command. This command stops all schemes and all protocols on the local node. .IP "\fBw\fR { 0 | 1 | \fIactivity_spec\fR }" 4 .IX Item "w { 0 | 1 | activity_spec }" The \fB\s-1BP\s0 watch\fR command. This command enables and disables production of a continuous stream of user-selected Bundle Protocol activity indication characters. A watch parameter of \*(L"1\*(R" selects all \s-1BP\s0 activity indication characters; \*(L"0\*(R" de-selects all \s-1BP\s0 activity indication characters; any other \fIactivity_spec\fR such as \*(L"acz~\*(R" selects all activity indication characters in the string, de-selecting all others. \s-1BP\s0 will print each selected activity indication character to \&\fBstdout\fR every time a processing event of the associated type occurs: .Sp \&\fBa\fR new bundle is queued for forwarding .Sp \&\fBb\fR bundle is queued for transmission .Sp \&\fBc\fR bundle is popped from its transmission queue .Sp \&\fBm\fR custody acceptance signal is received .Sp \&\fBw\fR custody of bundle is accepted .Sp \&\fBx\fR custody of bundle is refused .Sp \&\fBy\fR bundle is accepted upon arrival .Sp \&\fBz\fR bundle is queued for delivery to an application .Sp \&\fB~\fR bundle is abandoned (discarded) on attempt to forward it .Sp \&\fB!\fR bundle is destroyed due to \s-1TTL\s0 expiration .Sp \&\fB&\fR custody refusal signal is received .Sp \&\fB#\fR bundle is queued for re-forwarding due to \s-1CL\s0 protocol failure .Sp \&\fBj\fR bundle is placed in \*(L"limbo\*(R" for possible future re-forwarding .Sp \&\fBk\fR bundle is removed from \*(L"limbo\*(R" and queued for re-forwarding .IP "\fBh\fR" 4 .IX Item "h" The \fBhelp\fR command. This will display a listing of the commands and their formats. It is the same as the \fB?\fR command. .SH "SCHEME COMMANDS" .IX Header "SCHEME COMMANDS" .IP "\fBa scheme\fR \fIscheme_name\fR '\fIforwarder_command\fR' '\fIadmin_app_command\fR'" 4 .IX Item "a scheme scheme_name 'forwarder_command' 'admin_app_command'" The \fBadd scheme\fR command. This command declares an endpoint naming \&\*(L"scheme\*(R" for use in endpoint IDs, which are structured as URIs: \&\fIscheme_name\fR:\fIscheme\-specific_part\fR. \fIforwarder_command\fR will be executed when the scheme is started on this node, to initiate operation of a forwarding daemon for this scheme. \fIadmin_app_command\fR 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. .IP "\fBc scheme\fR \fIscheme_name\fR '\fIforwarder_command\fR' '\fIadmin_app_command\fR'" 4 .IX Item "c scheme scheme_name 'forwarder_command' 'admin_app_command'" The \fBchange scheme\fR command. This command sets the indicated scheme's \&\fIforwarder_command\fR and \fIadmin_app_command\fR to the strings provided as arguments. .IP "\fBd scheme\fR \fIscheme_name\fR" 4 .IX Item "d scheme scheme_name" The \fBdelete scheme\fR command. This command deletes the scheme identified by \fIscheme_name\fR. The command will fail if any bundles identified in this scheme are pending forwarding, transmission, or delivery. .IP "\fBi scheme\fR \fIscheme_name\fR" 4 .IX Item "i scheme scheme_name" This command will print information (number and commands) about the endpoint naming scheme identified by \fIscheme_name\fR. .IP "\fBl scheme\fR" 4 .IX Item "l scheme" This command lists all declared endpoint naming schemes. .IP "\fBs scheme\fR \fIscheme_name\fR" 4 .IX Item "s scheme scheme_name" The \fBstart scheme\fR command. This command starts the forwarder and administrative endpoint tasks for the indicated scheme task on the local node. .IP "\fBx scheme\fR \fIscheme_name\fR" 4 .IX Item "x scheme scheme_name" The \fBstop scheme\fR command. This command stops the forwarder and administrative endpoint tasks for the indicated scheme task on the local node. .SH "ENDPOINT COMMANDS" .IX Header "ENDPOINT COMMANDS" .IP "\fBa endpoint\fR \fIendpoint_ID\fR { q | x } ['\fIrecv_script\fR']" 4 .IX Item "a endpoint endpoint_ID { q | x } ['recv_script']" The \fBadd endpoint\fR command. This command establishes a \s-1DTN\s0 endpoint named \&\fIendpoint_ID\fR 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 \fIrecv_script\fR is provided, \fIrecv_script\fR is to be executed. .IP "\fBc endpoint\fR \fIendpoint_ID\fR { q | x } ['\fIrecv_script\fR']" 4 .IX Item "c endpoint endpoint_ID { q | x } ['recv_script']" The \fBchange endpoint\fR 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. .IP "\fBd endpoint\fR \fIendpoint_ID\fR" 4 .IX Item "d endpoint endpoint_ID" The \fBdelete endpoint\fR command. This command deletes the endpoint identified by \fIendpoint_ID\fR. The command will fail if any bundles are currently pending delivery to this endpoint. .IP "\fBi endpoint\fR \fIendpoint_ID\fR" 4 .IX Item "i endpoint endpoint_ID" This command will print information (disposition and script) about the endpoint identified by \fIendpoint_ID\fR. .IP "\fBl endpoint\fR" 4 .IX Item "l endpoint" This command lists all local endpoints, regardless of scheme name. .SH "PROTOCOL COMMANDS" .IX Header "PROTOCOL COMMANDS" .IP "\fBa protocol\fR \fIprotocol_name\fR \fIpayload_bytes_per_frame\fR \fIoverhead_bytes_per_frame\fR [\fInominal_data_rate\fR]" 4 .IX Item "a protocol protocol_name payload_bytes_per_frame overhead_bytes_per_frame [nominal_data_rate]" The \fBadd protocol\fR command. This command establishes access to the named convergence layer protocol at the local node. The \fIpayload_bytes_per_frame\fR and \fIoverhead_bytes_per_frame\fR arguments are used in calculating the estimated transmission capacity consumption of each bundle, to aid in route computation and congestion forecasting. .Sp The optional \fInominal_data_rate\fR argument overrides the hard-coded default continuous data rate for the indicated protocol, for purposes of rate control. For all \s-1CL\s0 protocols other than \s-1LTP,\s0 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 \s-1LTP\s0 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 \s-1CL\s0 protocol. For \s-1LTP,\s0 duct name is simply \s-1LTP\s0 engine number which, by convention, is identical to node number. For all other \s-1CL\s0 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. .IP "\fBd protocol\fR \fIprotocol_name\fR" 4 .IX Item "d protocol protocol_name" The \fBdelete protocol\fR command. This command deletes the convergence layer protocol identified by \fIprotocol_name\fR. The command will fail if any ducts are still locally declared for this protocol. .IP "\fBi protocol\fR \fIprotocol_name\fR" 4 .IX Item "i protocol protocol_name" This command will print information about the convergence layer protocol identified by \fIprotocol_name\fR. .IP "\fBl protocol\fR" 4 .IX Item "l protocol" This command lists all convergence layer protocols that can currently be utilized at the local node. .IP "\fBs protocol\fR \fIprotocol_name\fR" 4 .IX Item "s protocol protocol_name" The \fBstart protocol\fR command. This command starts all induct and outduct tasks for inducts and outducts that have been defined for the indicated \&\s-1CL\s0 protocol on the local node. .IP "\fBx protocol\fR \fIprotocol_name\fR" 4 .IX Item "x protocol protocol_name" The \fBstop protocol\fR command. This command stops all induct and outduct tasks for inducts and outducts that have been defined for the indicated \&\s-1CL\s0 protocol on the local node. .SH "INDUCT COMMANDS" .IX Header "INDUCT COMMANDS" .IP "\fBa induct\fR \fIprotocol_name\fR \fIduct_name\fR '\fICLI_command\fR'" 4 .IX Item "a induct protocol_name duct_name 'CLI_command'" The \fBadd induct\fR command. This command establishes a \*(L"duct\*(R" for reception of bundles via the indicated \s-1CL\s0 protocol. The duct's data acquisition structure is used and populated by the \*(L"induct\*(R" task whose operation is initiated by \fICLI_command\fR at the time the duct is started. .IP "\fBc induct\fR \fIprotocol_name\fR \fIduct_name\fR '\fICLI_command\fR'" 4 .IX Item "c induct protocol_name duct_name 'CLI_command'" The \fBchange induct\fR command. This command changes the command that is used to initiate operation of the induct task for the indicated duct. .IP "\fBd induct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "d induct protocol_name duct_name" The \fBdelete induct\fR command. This command deletes the induct identified by \fIprotocol_name\fR and \fIduct_name\fR. The command will fail if any bundles are currently pending acquisition via this induct. .IP "\fBi induct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "i induct protocol_name duct_name" This command will print information (the \s-1CLI\s0 command) about the induct identified by \fIprotocol_name\fR and \fIduct_name\fR. .IP "\fBl induct\fR [\fIprotocol_name\fR]" 4 .IX Item "l induct [protocol_name]" If \fIprotocol_name\fR is specified, this command lists all inducts established locally for the indicated \s-1CL\s0 protocol. Otherwise it lists all locally established inducts, regardless of protocol. .IP "\fBs induct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "s induct protocol_name duct_name" The \fBstart induct\fR command. This command starts the indicated induct task as defined for the indicated \s-1CL\s0 protocol on the local node. .IP "\fBx induct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "x induct protocol_name duct_name" The \fBstop induct\fR command. This command stops the indicated induct task as defined for the indicated \s-1CL\s0 protocol on the local node. .SH "OUTDUCT COMMANDS" .IX Header "OUTDUCT COMMANDS" .IP "\fBa outduct\fR \fIprotocol_name\fR \fIduct_name\fR '\fICLO_command\fR' [\fImax_payload_length\fR]" 4 .IX Item "a outduct protocol_name duct_name 'CLO_command' [max_payload_length]" The \fBadd outduct\fR command. This command establishes a \*(L"duct\*(R" for transmission of bundles via the indicated \s-1CL\s0 protocol. The duct's data transmission structure is serviced by the \*(L"outduct\*(R" task whose operation is initiated by \fICLO_command\fR at the time the duct is started. A value of zero for \fImax_payload_length\fR indicates that bundles of any size can be accommodated; this is the default. .IP "\fBc outduct\fR \fIprotocol_name\fR \fIduct_name\fR '\fICLO_command\fR' [\fImax_payload_length\fR]" 4 .IX Item "c outduct protocol_name duct_name 'CLO_command' [max_payload_length]" The \fBchange outduct\fR 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. .IP "\fBd outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "d outduct protocol_name duct_name" The \fBdelete outduct\fR command. This command deletes the outduct identified by \fIprotocol_name\fR and \fIduct_name\fR. The command will fail if any bundles are currently pending transmission via this outduct. .IP "\fBi outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "i outduct protocol_name duct_name" This command will print information (the \s-1CLO\s0 command) about the outduct identified by \fIprotocol_name\fR and \fIduct_name\fR. .IP "\fBl outduct\fR [\fIprotocol_name\fR]" 4 .IX Item "l outduct [protocol_name]" If \fIprotocol_name\fR is specified, this command lists all outducts established locally for the indicated \s-1CL\s0 protocol. Otherwise it lists all locally established outducts, regardless of protocol. .IP "\fBs outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "s outduct protocol_name duct_name" The \fBstart outduct\fR command. This command starts the indicated outduct task as defined for the indicated \s-1CL\s0 protocol on the local node. .IP "\fBb outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "b outduct protocol_name duct_name" The \fBblock outduct\fR command. This command disables transmission of bundles via the indicated outduct and reforwards all non-critical bundles currently queued for transmission via this outduct. .IP "\fBu outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "u outduct protocol_name duct_name" The \fBunblock outduct\fR command. This command re-enables transmission of bundles via the indicated outduct and reforwards all bundles in \*(L"limbo\*(R" in the hope that the unblocking of this outduct will enable some of them to be transmitted. .IP "\fBx outduct\fR \fIprotocol_name\fR \fIduct_name\fR" 4 .IX Item "x outduct protocol_name duct_name" The \fBstop outduct\fR command. This command stops the indicated outduct task as defined for the indicated \s-1CL\s0 protocol on the local node. .SH "EXAMPLES" .IX Header "EXAMPLES" .IP "a scheme ipn 'ipnfw' 'ipnadminep'" 4 .IX Item "a scheme ipn 'ipnfw' 'ipnadminep'" Declares the \*(L"ipn\*(R" scheme on the local node. .IP "a protocol udp 1400 100 16384" 4 .IX Item "a protocol udp 1400 100 16384" Establishes access to the \*(L"udp\*(R" 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 (\s-1BP, UDP, IP, AOS\s0) per lowest-layer frame, and setting the default nominal data rate to be 16384 bytes per second. .IP "r 'ipnadmin flyby.ipnrc'" 4 .IX Item "r 'ipnadmin flyby.ipnrc'" Runs the administrative program \fIipnadmin\fR from within \fIbpadmin\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIbpadmin\fR\|(1), \fIipnadmin\fR\|(1), \fIdtn2admin\fR\|(1)