Packet tunneling over UDP, multiple channels
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
5.1 KiB
:doctype: manpage
:revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
1 year ago - script for managing rrqnet virtual cables with
11 months ago
ifup and ifdown
for HOOKD in down post-down pre-up up ; do
ln -s /etc/rrqnet/ /etc/network/if-$HOOKD.d/rrqnet
1 year ago
*/etc/rrqnet/* is a utility script for managing +rrqnet+
virtual cables via +/etc/network/interfaces+ declarations. In normal
3 months ago
use the script is set up as hook script by means of links from all
+/etc/network/if-*.d/rrqnet+ for automatic invocation with the
commands +ifup+ and +ifdown+.
1 year ago
3 months ago
A +rrqnet+ virtual cable uses a +tap+ interface at each cable end
1 year ago
host, and a service process (aptly named +rrqnet+) to tunnel the +tap+
network traffic over UDP. Each +rrqnet+ process acts as a networking
switch that facilitates level 2 connectivity among all its end points
with packet routing according to the destination Ethernet machine
This script handles the special purpose "option codes" for the IFACE
3 months ago
blocks that are used for declaring the +rrqnet+ daemon configuration
1 year ago
to for the +tap+ interface for its virtual cabling. I.e., the IFACE
block is made for the tap interface and it includes one or more of
1 year ago
these +rrqnet+ options.
The list of IFACE options for +rrqnet+ are:
*rrqnet_port* [ notap ] _port_::
This IFACE option is required both as way of marking that the
configuration block is for an +rrqnet+ virtual cable +tap+, and to
declare which UDP port the +rrqnet+ daemon should listen on for
incoming cabling. The port number may be preceded by +notap+ to
indcate that this +rrqnet+ should not have an actual tap interface on
the host but rather only serve to interconnect remote connections.
*rrqnet_nice* _nice_::
This IFACE option is used for adjusting the +rrqnet+ process
scheduling priority. Refer the +nice+ man page for full details.
*rrqnet_remote* _remote_::
This IFACE option is used for declaring the remote connection details.
Refer to +rrqnet+ man page for the full specification. Multiple
1 year ago
remotes for a single +rrqnet+ daemon are declared by using multiple
+rrqnet_remote+ lines.
*rrqnet_options* _options_::
1 year ago
This IFACE option is used for declaring any additional +rrqnet+ daemon
settings ([-tpg] [-4] [-B n] [-T n] [-m mcast]). Refer to the +rrqnet+
man page for the full specification.
*rrqnet_log* _level_ _pathname_::
This IFACE option is used for declaring the log level as one of +-v+,
+-vv+ or +-vvv+, and to nominate the log file. If omitted, all the
1 year ago
+rrqnet+ daemon output will be directed to +/dev/null+. If __pathname_
is of the form "facility.priority", then stderr is sent to +syslog+.
Otherwise, stderr is appended to the nominated file.
*rrqnet_bridge* _bridge_::
1 year ago
This IFACE option is only used to make the +tap+ (once created) to be
made a "port" of the nominated preceding +bridge+ interface. The same
things is achieved by including the +tap+ in the +bridge_ports+ list
of the bridge, provided that the +tap+ is created before the bridge.
*rrqnet_dhcp* _method args_::
This IFACE option is used for attaching a DHCP client to the
interface. The +method+ identifies the DHCP client method, and
currently only the +dhclient+ method is defined, which is run as
The given +args+ if non-empty replaces +$DHCPARGS+, which by default
are "-4 -cf /dev/null". Refer to the +dhclient+ man page for details.
The following is a configuration example:
iface mynet0 inet static
rrqnet_port 3636
rrqnet_options -4 -B 10 -T 1
rrqnet_remote 111.222.333.444:3636=/sec/mynet.key
rrqnet_log -v /var/log/mynet0.log
1 year ago
The above example declares a virtual cable plug for UDP port +3636+
tunneling through host +111.222.333.444+ port +3636+ where the local
+tap+ +mynet0+ has ipv4 address + The +rrqnet_port+ option
marks the IFACE block as an ++rrqnet+ virtual cabling set up which
then is duly handled by
1 year ago
The +rrqnet_options+ in the example tells the +rrqnet+ process to use
3 months ago
an ipv4-only socket, 10 packet buffers and a single delivery thread,
in addition to the socket reader threads. The default is to use an
ipv6 socket, 10 bufffers and 5 delivery threads.
1 year ago
This script creates the +tap+ interface if needed, and brings it up.
Thereafter, if so configured the +tap+ is added to the +bridge+, and
then the +rrqnet+ virtual cable process is started under a +daemon+
1 year ago
Note that the +rrqnet+ virtual cable requires UDP networking for its
tunnel traffic. The tunnel packets will have a UDP header in addition
to the orignal packet, which means that packets grow with some 28/48
(ipv4/6) bytes.
*brctl(8)* - ethernet bridge administration
*daemon(1)* - turns other processes into daemons
*dhclient(8)* - Dynamic Host Configuration Protocol Client
*interfaces(5)* - network interface configuration for ifup and ifdown
*rrqnet(8)* - packet tunneling over UDP, multiple channels
Ralph Rönnquist <>