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.

150 lines
4.9 KiB
:doctype: manpage
:revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
3 years ago - script for managing rrqnet virtual cables with
2 years ago
ifup and ifdown
for HOOKD in down post-down pre-up up ; do
ln -s /etc/rrqnet/ /etc/network/if-$HOOKD.d/rrqnet
3 years ago
*/etc/rrqnet/* is a utility script for managing +rrqnet+
virtual cables via +/etc/network/interfaces+ declarations. In normal
2 years 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+.
3 years ago
2 years ago
A +rrqnet+ virtual cable uses a +tap+ interface at each cable end
3 years 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
2 years ago
blocks that are used for declaring the +rrqnet+ daemon configuration
3 years ago
to for the +tap+ interface for its virtual cabling. I.e., the IFACE
stanza is made for the tap interface and it includes one or more of
these +rrqnet+ options.
The list of IFACE options for +rrqnet+ are:
*rrqnet_port* _port_::
3 years ago
This IFACE option is required both as way of marking that the stanza
is for an +rrqnet+ virtual cable +tap+, and to declare which UDP port
the +rrqnet+ daemon should listen on for incoming cabling.
*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
3 years ago
remotes for a single +rrqnet+ daemon are declared by using multiple
+rrqnet_remote+ lines.
*rrqnet_options* _options_::
3 years ago
This IFACE option is used for declaring any additional +rrqnet+ daemon
settings ([-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
3 years 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_::
3 years 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
3 years 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 stanza as an ++rrqnet+ virtual cabling set up which then is
duly handled by
The +rrqnet_options+ in the example tells the +rrqnet+ process to use
2 years 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.
3 years 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+
3 years 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 <>