.\" 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 "IONRC 5" .TH IONRC 5 "2016-07-07" "perl v5.24.1" "ICI 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" ionrc \- ION node management commands file .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\s-1ION\s0 node management commands are passed to \fBionadmin\fR either in a file of text lines or interactively at \fBionadmin\fR's command prompt (:). Commands are interpreted line-by line, with exactly one command per line. The formats and effects of the \s-1ION\s0 node management commands are described below. .SH "TIME REPRESENTATION" .IX Header "TIME REPRESENTATION" For many \s-1ION\s0 node management commands, time values must be passed as arguments. Every time value may be represented in either of two formats. Absolute time is expressed as: .Sp .RS 4 \&\fIyyyy\fR/\fImm\fR/\fIdd\fR\-\fIhh\fR:\fImm\fR:\fIss\fR .RE .PP Relative time (a number of seconds following the current \fIreference time\fR, which defaults to the current time at the moment \fIionadmin\fR began execution but which can be overridden by the \fBat\fR command described below) is expressed as: .Sp .RS 4 +\fIss\fR .RE .SH "COMMANDS" .IX Header "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 ionadmin 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. \s-1HINT:\s0 combine with \fBe 1\fR command to log the version number at startup. .IP "\fB1\fR \fInode_number\fR { \fIion_config_filename\fR | '' }" 4 .IX Item "1 node_number { ion_config_filename | '' }" The \fBinitialize\fR command. Until this command is executed, the local \s-1ION\s0 node does not exist and most \fIionadmin\fR commands will fail. .Sp The command configures the local node to be identified by \fInode_number\fR, a \&\s-1CBHE\s0 node number which uniquely identifies the node in the delay-tolerant network. It also configures \s-1ION\s0's data store (\s-1SDR\s0) and shared working-memory region using either the settings found in the \fIion_config_filename\fR file or, if '' is supplied as the \fIion_config_filename\fR, a set of default settings. Please see \fIionconfig\fR\|(5) for details. .Sp For example: .Sp .Vb 1 \& 1 19 \*(Aq\*(Aq .Ve .Sp would initialize \s-1ION\s0 on the local computer, assigning the local \s-1ION\s0 node the node number 19 and using default values to configure the data store and shared working-memory region. .IP "\fB@\fR \fItime\fR" 4 .IX Item "@ time" The \fBat\fR command. This is used to set the reference time that will be used for interpreting relative time values from now until the next revision of reference time. Note that the new reference time can be a relative time, i.e., an offset beyond the current reference time. .IP "\fBa contact\fR \fIstart_time\fR \fIstop_time\fR \fIsource_node\fR \fIdest_node\fR \fIxmit_data_rate\fR" 4 .IX Item "a contact start_time stop_time source_node dest_node xmit_data_rate" The \fBadd contact\fR command. This command schedules a period of data transmission from \fIsource_node\fR to \fIdest_node\fR. The period of transmission will begin at \fIstart_time\fR and end at \fIstop_time\fR, and the rate of data transmission will be \fIxmit_data_rate\fR bytes/second. .IP "\fBd contact\fR \fIstart_time\fR \fIsource_node\fR \fIdest_node\fR" 4 .IX Item "d contact start_time source_node dest_node" The \fBdelete contact\fR command. This command deletes the scheduled period of data transmission from \fIsource_node\fR to \fIdest_node\fR starting at \fIstart_time\fR. To delete all contacts between some pair of nodes, use '*' as \fIstart_time\fR. .IP "\fBi contact\fR \fIstart_time\fR \fIsource_node\fR \fIdest_node\fR" 4 .IX Item "i contact start_time source_node dest_node" This command will print information (the stop time and data rate) about the scheduled period of transmission from \fIsource_node\fR to \fIdest_node\fR that starts at \fIstart_time\fR. .IP "\fBl contact\fR" 4 .IX Item "l contact" This command lists all scheduled periods of data transmission. .IP "\fBa range\fR \fIstart_time\fR \fIstop_time\fR \fIone_node\fR \fIthe_other_node\fR \fIdistance\fR" 4 .IX Item "a range start_time stop_time one_node the_other_node distance" The \fBadd range\fR command. This command predicts a period of time during which the distance from \fIone_node\fR to \fIthe_other_node\fR will be constant to within one light second. The period will begin at \fIstart_time\fR and end at \fIstop_time\fR, and the distance between the nodes during that time will be \fIdistance\fR light seconds. .IP "\fBd range\fR \fIstart_time\fR \fIone_node\fR \fIthe_other_node\fR" 4 .IX Item "d range start_time one_node the_other_node" The \fBdelete range\fR command. This command deletes the predicted period of constant distance between \fIone_node\fR and \fIthe_other_node\fR starting at \fIstart_time\fR. To delete all ranges between some pair of nodes, use '*' as \fIstart_time\fR. .IP "\fBi range\fR \fIstart_time\fR \fIone_node\fR \fIthe_other_node\fR" 4 .IX Item "i range start_time one_node the_other_node" This command will print information (the stop time and range) about the predicted period of constant distance between \fIone_node\fR and \fIthe_other_node\fR that starts at \fIstart_time\fR. .IP "\fBl range\fR" 4 .IX Item "l range" This command lists all predicted periods of constant distance. .IP "\fBm utcdelta\fR \fIlocal_time_sec_after_UTC\fR" 4 .IX Item "m utcdelta local_time_sec_after_UTC" This management command sets \s-1ION\s0's understanding of the current difference between correct \s-1UTC\s0 time and the time values reported by the clock for the local \s-1ION\s0 node's computer. This delta is automatically applied to locally obtained time values whenever \s-1ION\s0 needs to know the current time. For machines that use \s-1UTC\s0 natively and are synchronized by \s-1NTP,\s0 the value of this delta should be 0, the default. .IP "\fBm clockerr\fR \fIknown_maximum_clock_error\fR" 4 .IX Item "m clockerr known_maximum_clock_error" This management command sets \s-1ION\s0's understanding of the accuracy of the scheduled start and stop times of planned contacts, in seconds. The default value is 1. When revising local data transmission and reception rates, \fIionadmin\fR will adjust contact start and stop times by this interval to be sure not to send bundles that arrive before the neighbor expects data arrival or to discard bundles that arrive slightly before they were expected. .IP "\fBm clocksync\fR [ { 1 | 0 } ]" 4 .IX Item "m clocksync [ { 1 | 0 } ]" This management command reports whether or not the computer on which the local \s-1ION\s0 node is running has a synchronized clock, as discussed in the description of the \fIionClockIsSynchronized()\fR function (\fIion\fR\|(3)). .Sp If a Boolean argument is provided when the command is executed, the characterization of the machine's clock is revised to conform with the asserted value. The default value is 1. .IP "\fBm production\fR \fIplanned_data_production_rate\fR" 4 .IX Item "m production planned_data_production_rate" This management command sets \s-1ION\s0's expectation of the mean rate of continuous data origination by local \s-1BP\s0 applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of \-1, which is the default, indicates that the rate of local data production is unknown; in that case local data production is not considered in the computation of congestion forecasts. .IP "\fBm consumption\fR \fIplanned_data_consumption_rate\fR" 4 .IX Item "m consumption planned_data_consumption_rate" This management command sets \s-1ION\s0's expectation of the mean rate of continuous data delivery to local \s-1BP\s0 applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of \-1, which is the default, indicates that the rate of local data consumption is unknown; in that case local data consumption is not considered in the computation of congestion forecasts. .IP "\fBm occupancy\fR \fIheap_occupancy_limit\fR [\fIfile_system_occupancy_limit\fR]" 4 .IX Item "m occupancy heap_occupancy_limit [file_system_occupancy_limit]" This management command sets the maximum number of megabytes of storage space in \s-1ION\s0's \s-1SDR\s0 non-volatile heap, and/or in the local file system, that can be used for the storage of zero-copy objects. A value of \-1 for either limit signifies \*(L"leave unchanged\*(R". The default heap limit is 60% of the \s-1SDR\s0 data store's total heap size. The default file system limit is 1 Terabyte. .IP "\fBm horizon\fR { 0 | \fIend_time_for_congestion_forecasts\fR }" 4 .IX Item "m horizon { 0 | end_time_for_congestion_forecasts }" This management command sets the end time for computed congestion forecasts. Setting congestion forecast horizon to zero sets the congestion forecast end time to infinite time in the future: if there is any predicted net growth in bundle storage space occupancy at all, following the end of the last scheduled contact, then eventual congestion will be predicted. The default value is zero, i.e., no end time. .IP "\fBm alarm\fR '\fIcongestion_alarm_command\fR'" 4 .IX Item "m alarm 'congestion_alarm_command'" This management command establishes a command which will automatically be executed whenever \fIionadmin\fR predicts that the node will become congested at some future time. By default, there is no alarm command. .IP "\fBm usage\fR" 4 .IX Item "m usage" This management command simply prints \s-1ION\s0's current data store occupancy (the number of megabytes of space in the \s-1SDR\s0 non-volatile heap and file system that are occupied by bundles), the limit on occupancy, and the maximum level of occupancy predicted by the most recent \fIionadmin\fR congestion forecast computation. .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 the \fIrfxclock\fR task on the local \&\s-1ION\s0 node. .IP "\fBx\fR" 4 .IX Item "x" The \fBstop\fR command. This command stops the \fIrfxclock\fR task on the local \&\s-1ION\s0 node. .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 "EXAMPLES" .IX Header "EXAMPLES" .IP "@ 2008/10/05\-11:30:00" 4 .IX Item "@ 2008/10/05-11:30:00" Sets the reference time to 1130 (\s-1UTC\s0) on 5 October 2008. .IP "a range +1 2009/01/01\-00:00:00 1 2 12" 4 .IX Item "a range +1 2009/01/01-00:00:00 1 2 12" Predicts that the distance between nodes 1 and 2 (endpoint IDs ipn:1.0 and ipn:2.0) will remain constant at 12 light seconds over the interval that begins 1 second after the reference time and ends at the end of calendar year 2009. .IP "a contact +60 +7260 1 2 10000" 4 .IX Item "a contact +60 +7260 1 2 10000" Schedules a period of transmission at 10,000 bytes/second from node 1 to node 2, starting 60 seconds after the reference time and ending exactly two hours (7200 seconds) after it starts. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIionadmin\fR\|(1), \fIrfxclock\fR\|(1), \fIion\fR\|(3)