.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" 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 >0, 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 .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" 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 "BSSFW 1" .TH BSSFW 1 "2016-07-07" "perl v5.24.1" "BP executables" .\" 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" bssfw \- bundle route computation task for the IPN scheme, adapted for Bundle Streaming Service .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBbssfw\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBbssfw\fR is a background \*(L"daemon\*(R" task that pops bundles from the queue of bundle destined for IPN-scheme endpoints, computes proximate destinations for those bundles, and appends those bundles to the appropriate queues of bundles pending transmission to those computed proximate destinations. .PP For each possible proximate destination (that is, neighboring node) there is a separate queue for each possible level of bundle priority: 0, 1, 2. Each outbound bundle is appended to the queue matching the bundle's designated priority. .PP Proximate destination computation is affected by static and default routes as configured by \fIbssadmin\fR\|(1) and by contact graphs as managed by \fIionadmin\fR\|(1) and \fIrfxclock\fR\|(1). \fBbssfw\fR differs from \fBipnfw\fR in this way: a bundle that is destined for an endpoint associated with a \s-1BSS\s0 application (as registered in an \*(L"entry\*(R" passed to \fIbssadmin\fR\|(1) in a \fIbssrc\fR\|(5) command) is forwarded via a duct identified in a separately defined real-time or playback duct expression, rather than the standard duct that is used for non-BSS traffic. .PP \&\fBbssfw\fR is spawned automatically by \fBbpadmin\fR in response to the \&'s' (\s-1START\s0) command that starts operation of Bundle Protocol on the local \&\s-1ION\s0 node, and it is terminated by \fBbpadmin\fR in response to an 'x' (\s-1STOP\s0) command. \fBbssfw\fR can also be spawned and terminated in response to \&\s-1START\s0 and \s-1STOP\s0 commands that pertain specifically to the \s-1IPN\s0 scheme. .SH "EXIT STATUS" .IX Header "EXIT STATUS" .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" \&\fBbssfw\fR terminated, for reasons noted in the \fBion.log\fR log file. If this termination was not commanded, investigate and solve the problem identified in the log file and use \fBbpadmin\fR to restart \fBbssfw\fR. .ie n .IP """1""" 4 .el .IP "``1''" 4 .IX Item "1" \&\fBbssfw\fR could not commence operations, for reasons noted in the \fBion.log\fR log file. Investigate and solve the problem identified in the log file, then use \fBbpadmin\fR to restart \fBbssfw\fR. .SH "FILES" .IX Header "FILES" No configuration files are needed. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" No environment variables apply. .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" The following diagnostics may be issued to the \fBion.log\fR log file: .IP "bssfw can't attach to \s-1BP.\s0" 4 .IX Item "bssfw can't attach to BP." \&\fBbpadmin\fR has not yet initialized \s-1BP\s0 operations. .IP "bssfw can't load routing database." 4 .IX Item "bssfw can't load routing database." \&\fBbssadmin\fR has not yet initialized the \s-1IPN\s0 scheme. .IP "Can't create lists for route computation." 4 .IX Item "Can't create lists for route computation." An unrecoverable database error was encountered. \fBbssfw\fR terminates. .IP "'bss' scheme is unknown." 4 .IX Item "'bss' scheme is unknown." The \s-1IPN\s0 scheme was not added when \fBbpadmin\fR initialized \s-1BP\s0 operations. Use \&\fBbpadmin\fR to add and start the scheme. .IP "Can't take forwarder semaphore." 4 .IX Item "Can't take forwarder semaphore." \&\s-1ION\s0 system error. \fBbssfw\fR terminates. .IP "Can't exclude sender from routes." 4 .IX Item "Can't exclude sender from routes." An unrecoverable database error was encountered. \fBbssfw\fR terminates. .IP "Can't enqueue bundle." 4 .IX Item "Can't enqueue bundle." An unrecoverable database error was encountered. \fBbssfw\fR terminates. .SH "BUGS" .IX Header "BUGS" Report bugs to .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIbpadmin\fR\|(1), \fIbssadmin\fR\|(1), \fIbprc\fR\|(5), \fIbssrc\fR\|(5).