rrqnet-ifupdown.sh(8) ===================== :doctype: manpage :revdate: {sys:date "+%Y-%m-%d %H:%M:%S"} NAME ---- rrqnet-ifupdown.sh - script for managing rrqnet virtual cables with ifup and ifdown SYNOPSIS -------- for HOOKD in down post-down pre-up up ; do ln -s /etc/rrqnet/ifupdown.sh /etc/network/if-$HOOKD.d/rrqnet done DESCRIPTION ----------- */etc/rrqnet/ifupdown.sh* is a utility script for managing +rrqnet+ virtual cables via +/etc/network/interfaces+ declarations. In normal use the script is set up as "pre-up" and "post-down" scripts by means of links from +/etc/network/if-pre-up.d/rrqnet+ and from +/etc/network/if-post-down.d/rrqnet+. It will then be invoked by +ifup+ and +ifdown+ for handling the +rrqnet+ declarations and bring up or tear down +rrqnet+ virtual cable plugs over +tap+ interfaces. An +rrqnet+ virtual cable uses a +tap+ interface at each cable end 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 addresses. This script handles the special purpose "option codes" for the IFACE stanzas that are used for declaring the +rrqnet+ daemon configuration 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_:: 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 remotes for a single +rrqnet+ daemon are declared by using multiple +rrqnet_remote+ lines. *rrqnet_options* _options_:: 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 +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_:: 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 follows: + ---- dhclient -pf $PIDFILE $DHCPARGS -lf $LEASES $IFACE ---- + The given +args+ if non-empty replaces +$DHCPARGS+, which by default are "-4 -cf /dev/null". Refer to the +dhclient+ man page for details. EXAMPLES -------- The following is a configuration example: ---- iface mynet0 inet static address 10.0.0.2/24 broadcast 10.0.0.255 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 ---- 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 +10.0.0.2+. The +rrqnet_port+ option marks the stanza as an ++rrqnet+ virtual cabling set up which then is duly handled by +rrqnet-ifupdown.sh+. The +rrqnet_options+ in the example tells the +rrqnet+ process to use an ipv4-only socket, 10 packet buffers and a single delivery thread. If left out, the default is to use an ipv6 socket, 10 bufffers and 5 threads. NOTES ----- 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+ supervision. 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. SEE ALSO -------- *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 AUTHOR ------ Ralph Rönnquist