.\" 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 "IPNRC 5" .TH IPNRC 5 "2016-07-07" "perl v5.24.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" ipnrc \- IPN scheme configuration commands file .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\s-1IPN\s0 scheme configuration commands are passed to \fBipnadmin\fR either in a file of text lines or interactively at \fBipnadmin\fR's command prompt (:). Commands are interpreted line-by line, with exactly one command per line. .PP \&\s-1IPN\s0 scheme configuration commands (a) establish egress plans for direct transmission to neighboring nodes that are members of endpoints identified in the \*(L"ipn\*(R" \s-1URI\s0 scheme and (b) establish static default routing rules for forwarding bundles to specified destination nodes. .PP The egress \fBplan\fR established for a given node associates a default egress \&\fBduct expression\fR with that node, and that default duct expression may be overridden by more narrowly scoped \fBplanrule\fRs in specific circumstances: a different egress duct expression may apply when the source endpoint for the subject bundle identifies a specific node, a specific service, or both. .PP Each duct expression is a string of the form "\fIprotocol_name\fR/\fIoutduct_name\fR[,\fIdestination_induct_name\fR]", signifying that the bundle is to be queued for transmission via the indicated convergence layer protocol outduct. \fIdestination_induct_name\fR must be provided when the indicated outduct is \*(L"promiscuous\*(R", i.e., not configured for transmission only to a single neighboring node; this is protocol-specific. .PP The circumstances that characterize a specific rule within a general plan are expressed in a \fBqualifier\fR, a string of the form "\fIsource_service_number\fR \fIsource_node_number\fR" where either \&\fIsource_service_number\fR or \fIsource_node_number\fR may be an asterisk character (*) signifying \*(L"all\*(R". .PP Note that egress plans \fBmust\fR be established for all neighboring nodes, regardless of whether or not contact graph routing is used for computing dynamic routes to distant nodes. This is by definition: if there isn't an egress plan to a node, it can't be considered a neighbor. .PP Static default routes are expressed as \fBgroups\fR in the ipn-scheme routing database. A group is a range of node numbers identifying a set of nodes for which defined default routing behavior is established. Whenever a bundle is to be forwarded to a node whose number is in the group's node number range \fBand\fR it has not been possible to compute a dynamic route to that node from the contact schedules that have been provided to the local node \fBand\fR that node is not a neighbor to which the bundle can be directly transmitted, \s-1BP\s0 will forward the bundle to the \fBgateway\fR node associated with this group. The gateway node for any group is identified by an endpoint \s-1ID,\s0 which might or might not be an ipn-scheme \s-1EID\s0; regardless, directing a bundle to the gateway for a group causes the bundle to be re-forwarded to that intermediate destination endpoint. Multiple groups may encompass the same node number, in which case the gateway associated with the most restrictive group (the one with the smallest range) is always selected. .PP The formats and effects of the \s-1IPN\s0 scheme configuration 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 ipnadmin 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 "\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 "PLAN COMMANDS" .IX Header "PLAN COMMANDS" .IP "\fBa plan\fR \fInode_nbr\fR \fIdefault_duct_expression\fR" 4 .IX Item "a plan node_nbr default_duct_expression" The \fBadd plan\fR command. This command establishes an egress plan for the bundles that must be transmitted to the neighboring node identified by \fInode_nbr\fR. A general plan must be in place for a node before any more specific rules are declared. .IP "\fBc plan\fR \fInode_nbr\fR \fIdefault_duct_expression\fR" 4 .IX Item "c plan node_nbr default_duct_expression" The \fBchange plan\fR command. This command changes the default duct expression for the indicated plan. .IP "\fBd plan\fR \fInode_nbr\fR" 4 .IX Item "d plan node_nbr" The \fBdelete plan\fR command. This command deletes the egress plan for the node identified by \fInode_nbr\fR, including all associated rules. .IP "\fBi plan\fR \fInode_nbr\fR" 4 .IX Item "i plan node_nbr" This command will print information (the default duct expression and all specific rules) about the egress plan for the node identified by \fInode_nbr\fR. .IP "\fBl plan\fR" 4 .IX Item "l plan" This command lists all egress plans established in the \s-1IPN\s0 database for the local node. .SH "PLANRULE COMMANDS" .IX Header "PLANRULE COMMANDS" .IP "\fBa planrule\fR \fInode_nbr\fR \fIqualifier\fR \fIduct_expression\fR" 4 .IX Item "a planrule node_nbr qualifier duct_expression" The \fBadd planrule\fR command. This command establishes a planrule, i.e., a duct expression that overrides the default duct expression of the egress plan for the node identified by \fInode_nbr\fR in the event that the source endpoint \s-1ID\s0 of the subject bundle matches \fIqualifier\fR. .IP "\fBc planrule\fR \fInode_nbr\fR \fIqualifier\fR \fIduct_expression\fR" 4 .IX Item "c planrule node_nbr qualifier duct_expression" The \fBchange planrule\fR command. This command changes the duct expression for the indicated planrule. .IP "\fBd planrule\fR \fInode_nbr\fR \fIqualifier\fR" 4 .IX Item "d planrule node_nbr qualifier" The \fBdelete planrule\fR command. This command deletes the planrule identified by \fInode_nbr\fR and \fIqualifier\fR. .IP "\fBi planrule\fR \fInode_nbr\fR \fIqualifier\fR" 4 .IX Item "i planrule node_nbr qualifier" This command will print information (the duct expression) about the planrule identified by \fInode_nbr\fR and \fIqualifier\fR. .IP "\fBl planrule\fR \fInode_nbr\fR" 4 .IX Item "l planrule node_nbr" This command lists all planrules in the plan for the indicated node. .SH "GROUP COMMANDS" .IX Header "GROUP COMMANDS" .IP "\fBa group\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIgateway_endpoint_ID\fR" 4 .IX Item "a group first_node_nbr last_node_nbr gateway_endpoint_ID" The \fBadd group\fR command. This command establishes a \*(L"group\*(R" for static default routing as described above. .IP "\fBc group\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIgateway_endpoint_ID\fR" 4 .IX Item "c group first_node_nbr last_node_nbr gateway_endpoint_ID" The \fBchange group\fR command. This command changes the gateway node number for the group identified by \fIfirst_node_nbr\fR and \fIlast_node_nbr\fR . .IP "\fBd group\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR" 4 .IX Item "d group first_node_nbr last_node_nbr" The \fBdelete group\fR command. This command deletes the group identified by \fIfirst_node_nbr\fR and \fIlast_node_nbr\fR. .IP "\fBi group\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR" 4 .IX Item "i group first_node_nbr last_node_nbr" This command will print information (the gateway endpoint \s-1ID\s0) about the group identified by \fIfirst_node_nbr\fR and \fIlast_node_nbr\fR. .IP "\fBl group\fR" 4 .IX Item "l group" This command lists all groups defined in the \s-1IPN\s0 database for the local node. .SH "GROUPRULE COMMANDS" .IX Header "GROUPRULE COMMANDS" .IP "\fBa grouprule\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIqualifier\fR \fIgateway_endpoint_ID\fR" 4 .IX Item "a grouprule first_node_nbr last_node_nbr qualifier gateway_endpoint_ID" The \fBadd grouprule\fR command. This command establishes a grouprule, i.e., a gateway endpoint \s-1ID\s0 that overrides the default gateway endpoint \s-1ID\s0 of the group identified by \fIfirst_node_nbr\fR and \fIlast_node_nbr\fR in the event that the source endpoint \s-1ID\s0 of the subject bundle matches \fIqualifier\fR. .IP "\fBc grouprule\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIqualifier\fR \fIgateway_endpoint_ID\fR" 4 .IX Item "c grouprule first_node_nbr last_node_nbr qualifier gateway_endpoint_ID" The \fBchange grouprule\fR command. This command changes the gateway \s-1EID\s0 for the indicated grouprule. .IP "\fBd grouprule\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIqualifier\fR" 4 .IX Item "d grouprule first_node_nbr last_node_nbr qualifier" The \fBdelete grouprule\fR command. This command deletes the grouprule identified by \fIfirst_node_nbr\fR, \fIlast_node_nbr\fR, and \fIqualifier\fR. .IP "\fBi grouprule\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR \fIqualifier\fR" 4 .IX Item "i grouprule first_node_nbr last_node_nbr qualifier" This command will print information (the duct expression) about the grouprule identified by \fInode_nbr\fR, \fIlast_node_nbr\fR, and \fIqualifier\fR. .IP "\fBl grouprule\fR \fIfirst_node_nbr\fR \fIlast_node_nbr\fR" 4 .IX Item "l grouprule first_node_nbr last_node_nbr" This command lists all grouprules for the indicated group. .SH "EXAMPLES" .IX Header "EXAMPLES" .IP "a plan 18 ltp/18" 4 .IX Item "a plan 18 ltp/18" Declares the egress plan to use for transmission from the local node to neighboring node 18. Any bundle for which the computed \*(L"next hop\*(R" node is node 18 will be queued for transmission on \s-1LTP\s0 outduct 18. .IP "a planrule 18 * 9 ltp/\-18" 4 .IX Item "a planrule 18 * 9 ltp/-18" Declares an egress plan override that applies to transmission to node 18 of any bundle whose source is node 9, regardless of the service that was the source of the bundle. Each such bundle must be queued for unreliable transmission on \s-1LTP\s0 outduct 18 rather than the default (standard transmission on \s-1LTP\s0 outduct 18). .IP "a group 1 999 dtn://stargate" 4 .IX Item "a group 1 999 dtn://stargate" Declares a default route for bundles destined for all nodes whose numbers are in the range 1 through 999 inclusive: absent any other routing decision, such bundles are to be forwarded to \*(L"dtn://stargate\*(R". .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIipnadmin\fR\|(1)