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.

4.0 KiB Manual Page

NAME - an ifupdown script to uphold rrqnet cables with iup and ifdown


ln -s /etc/rrqnet/ /etc/network/if-post-down.d/rrqnet
ln -s /etc/rrqnet/ /etc/network/if-pre-up.d/rrqnet


/etc/rrqnet/ is a utility script for upholding rrqnet virtual cables via /etc/network/interfaces. The script is set up as both "pre-up" and "post-down" scripts for handling the associated rrqnet configurations to bring up and tear down virtual cable plugs over tap interfaces.

An rrqnet virtual cable uses tap interfaces at each cable end host, which also have the service processes, aptly named rrqnet, to forward network traffic over UDP. Each rrqnet process acts as a networking switch that facilitates level 2 connectivity among all its end points according to the Ethernet machine addresses of the packets.

This script implements additional option codes for the IFACE stanzas for declaring the configuration of the rrqnet daemon that should use a tap interface for its virtual cabling. The list of options are:

rrqnet_port port

This IFACE option is required both as way of identifying the stanza as an rrqnet virtual cable tap, and to declare which UDP port to use for incomming cabling.

rrqnet_remote remote

This IFACE option is used for declaring the remote connection details. Refer to rrqnet man page for the full specification. Multiple remotes for a single rrqnet process are declared by using multiple rrqnet_remote lines.

rrqnet_options options

This IFACE option is used for declaring any additional rrqnet configuration options ([-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 rrqnet process output will be directed to /dev/null.

rrqnet_bridge bridge

This IFACE option is used if needed, to make the tap once created to be mad a "port" of the nominated preceding bridge interface [3].


The virtual cabling requires configurations for all rrqnet processes This script handles the particular configuration The following is a configuration example:

iface mynet0 inet static
    rrqnet_port 3636
    rrqnet_options -4
    rrqnet_remote 111.222.333.444:3636=/sec/mynet.key
    rrqnet_log -v /var/log/mynet0.log

The illustration example is of a virtual cable plug using port 3636 for UDP tunneling through host 111.222.333.444, port 3636, where the local tap, named mynet0, has ipv4 address The rrqnet_port option is understood to identify the stanza as a virtual cabling set up which then is duly handled by, and all its options are used for declaring that tunneling. The rrqnet_options in the example tells the rrqnet process to use an ipv4-only socket.


The script creates a tap interface if needed, and brings it up as needed. Then if so configured, the tap is added to the bridge, and then the rrqnet virtual cable process is started under a daemon supervision.

Note that the rrqnet virtual cable requires real networking for its UDP tunnel traffic. The real packets will have a UDP header in addition to the orignal packet, which means that it grows packets with 24 or 48 bytes (for ipv4 and ipv6 respectively). This may cause packet fragmentation of the tunneling packets unless the associated tap is configured with that much smaller MTU than the real traffic.


*interfaces(5)* - network interface configuration for ifup and ifdown
*rrqnet(8)* - packet tunneling over UDP, multiple channels
*brctl(8)* - ethernet bridge administration
*daemon(1)* - turns other processes into daemons


Ralph Rönnquist <>