NAME
ipnrc - IPN scheme configuration commands file
DESCRIPTION
IPN scheme configuration commands are passed to ipnadmin either in a file of text lines or interactively at ipnadmin's command prompt (:). Commands are interpreted line-by line, with exactly one command per line.
IPN scheme configuration commands (a) establish egress plans for direct transmission to neighboring nodes that are members of endpoints identified in the "ipn" URI scheme, (b) establish static default routing rules for forwarding bundles to specified destination nodes, and (c) establish override rules - applicable to bundles characterized by specific sources, destinations, and/or data labels - for routing and/or quality of service.
The egress plan established for a given node associates a duct expression with that node. Each duct expression is a string of the form "protocol_name/outduct_name" signifying that the bundle is to be queued for transmission via the indicated convergence layer protocol outduct.
Note that egress plans must 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 isn't considered a neighbor.
Also note that egress plans can now be established by bpadmin and such egress plans may enable selection among multiple outducts; see the bprc(5) man page for details.
Static default routes are declared as exits in the ipn-scheme routing database. An exit 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 exit's node number range and 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 and that node is not a neighbor to which the bundle can be directly transmitted, BP will forward the bundle to the gateway node associated with this exit. The gateway node for any exit is identified by an endpoint ID, which might or might not be an ipn-scheme EID; regardless, directing a bundle to the gateway for an exit causes the bundle to be re-forwarded to that intermediate waypoint endpoint. Multiple exits may encompass the same node number, in which case the gateway associated with the most restrictive exit (the one with the smallest range) is always selected.
Note that "exits" were termed "groups" in earlier versions of ION. The term "exit" has been adopted instead, to minimize any possible confusion with multicast groups. To protect backward compatibility, the keyword "group" continues to be accepted by ipnadmin as an alias for the new keyword "exit", but the older terminology is deprecated.
Routing and quality-of-service overrides may also be managed:
A routing override declares a neighboring node to which all bundles must be forwarded that meet specified criteria. This override is strictly local, affecting only forwarding from the local node, and it is applied before any route computed by CGR or IRR is considered. A routing override may additionally designate a specific outduct (identified by duct expression as defined in the bprc(5) man page) that must be used for transmission to this neighboring node.
A quality-of-service override declares the quality of service (priority and ordinal and [optionally] quality-of-service flags) that will condition - in terms of order and outduct selection - the forwarding of all bundles that meet specified criteria. Again this override is strictly local, affecting only forwarding from the local node.
The formats and effects of the IPN scheme configuration 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 ipnadmin 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. HINT: combine with e 1 command to log the version number at startup.
-
h
The help command. This will display a listing of the commands and their formats. It is the same as the ? command.
PLAN COMMANDS
-
a plan node_nbr duct_expression [nominal_data_rate]
The add plan command. This command establishes an egress plan for the bundles that must be transmitted to the neighboring node identified by node_nbr. The nominal_data_rate is the assumed rate of transmission to this node in the absence of contact plan information. A nominal_data_rate of zero (the default) in the absence of contact plan information completely disables rate control.
Note that the plan commands consumed by ipnadmin are a simplified shortcut for submitting plan commands as consumed by bpadmin (see bprc(5)). The syntax of these commands is DIFFERENT from that of the more general and more powerful bpadmin commands.
-
c plan node_nbr nominal_data_rate
The change plan command. This command changes the nominal data rate for the indicated plan.
-
d plan node_nbr
The delete plan command. This command deletes the egress plan for the node identified by node_nbr.
-
i plan node_nbr
This command will print information about the egress plan for the node identified by node_nbr.
-
l plan
This command lists all egress plans established in the IPN database for the local node.
EXIT COMMANDS
-
a exit first_node_nbr last_node_nbr gateway_node_ID
The add exit command. This command establishes an "exit" for static default routing as described above. The node ID, for the ipn scheme, would simply be the endpoint ID with service number equal to zero.
-
c exit first_node_nbr last_node_nbr gateway_node_ID
The change exit command. This command changes the gateway node number for the exit identified by first_node_nbr and last_node_nbr .
-
d exit first_node_nbr last_node_nbr
The delete exit command. This command deletes the exit identified by first_node_nbr and last_node_nbr.
-
i exit first_node_nbr last_node_nbr
This command will print information (the gateway node ID) about the exit identified by first_node_nbr and last_node_nbr.
-
l exit
This command lists all exits defined in the IPN database for the local node.
OVERRIDE COMMANDS
-
a rtovrd data_label dest_node_nbr source_node_nbr neighbor [duct_expression]
The add rtovrd command. This command cause bundles characterized by data_label ("all other data labels" if this label number is zero), dest_node_nbr ("all other destinations" if this node number is zero) and source_node_nbr ("all other sources" if this node number is zero) to be forwarded to neighbor. If duct_expression is noted, all such bundles will be forwarded using the indicated outduct.
-
c rtovrd data_label dest_node_nbr source_node_nbr neighbor [ductExpression]
The change rtovrd command. This command changes the override neighbor for the override identified by data_label, dest_node_nbr, and source_node_nbr. To cause ION to forget the override, use -1 as neighbor. If duct_expression is noted, the indicated outduct will become the outduct that is used for forwarding to the indicated neighboring node; if duct_expression is '' then the duct expression associated with this override is removed.
-
a cosovrd data_label dest_node_nbr source_node_nbr priority ordinal [qos_flags]
The add cosovrd command. This command cause bundles characterized by data_label ("all other data labels" if this label number is zero), dest_node_nbr ("all other destinations" if this node number is zero) and source_node_nbr ("all other sources" if this node number is zero) to have their effective quality of service (priority and ordinal and, optionally, additional quality-of-service flags) changed as noted.
-
c cosovrd data_label dest_node_nbr source_node_nbr priority ordinal [qos_flags]
The change cosovrd command. This command changes the effective quality of service (priority and ordinal and, optionally, additional quality-of-service flags) for the override identified by data_label, dest_node_nbr, and source_node_nbr. To cause ION to forget the override, use -1 as priority.
-
d ovrd data_label dest_node_nbr source_node_nbr
The delete override command. This command deletes any overrides identified by data_label, dest_node_nbr, and source_node_nbr.
-
i ovrd data_label dest_node_nbr source_node_nbr
This command will print information for all overrides identified by data_label, dest_node_nbr, and source_node_nbr.
-
l ovrd
This command lists all overrides defined in the IPN database for the local node.
EXAMPLES
-
a plan 18 ltp/18
Declares the egress plan to use for transmission from the local node to neighboring node 18. By default, any bundle for which the computed "next hop" node is node 18 will be queued for transmission on LTP outduct 18.
-
a exit 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 "dtn://stargate".
SEE ALSO
ipnadmin(1)