added origin
[rrq/rrqnet.git] / rrqnet.8.adoc
index bc0aafb158f88accf8616b993643d59397f53956..e6ed66870223bcba67dc2e2dffebe7fc70bdf006 100644 (file)
@@ -23,9 +23,9 @@ the remotes it may communicate with.
 OPTIONS
 -------
 
 OPTIONS
 -------
 
-Note that any options must be given in the fixed order:
+Note that any options must be given or omitted in the fixed order:
 
 
-    [-v] [-4] [-B n] [-T n] [-m mcast] [-t tap]
+  [-v] [-tpg] [-4] [-B n] [-T n] [-H r] [-m mcast] [-t tap] [-S source]
 
 *-v*::
 
 
 *-v*::
 
@@ -33,6 +33,13 @@ This tells *rrqnet* to log its operation on +stderr+. Use *-vv* to
 also see logs about connections and messaging, or *-vvv* for *rrqnet*
 to be insanely verbose on +stderr+ about virtually everything.
 
 also see logs about connections and messaging, or *-vvv* for *rrqnet*
 to be insanely verbose on +stderr+ about virtually everything.
 
+*-tpg*::
+
+This enables a special UDP transport quirk where *rrqnet* expands any
+packet in the range [1461,1477] bytes to be of 1478 bytes instead. It
+is a work-around for an observed problem in a NAT traversal case for
+certain packet sizes in that range.
+
 *-4*::
 
 This directs *rrqnet* to use an ipv4-only socket for its UDP. By
 *-4*::
 
 This directs *rrqnet* to use an ipv4-only socket for its UDP. By
@@ -53,6 +60,13 @@ where it immediately puts received packets into the buffer queue which
 is serviced by the dispatch threads for optional decryption, dispatch
 decision, optional encryption and delivery.
 
 is serviced by the dispatch threads for optional decryption, dispatch
 decision, optional encryption and delivery.
 
+*-H* _r_::
+
+This sets the number of seconds *rrqnet* should wait between "heart
+beat" messages to uplinks. The default is 30. This is used to hold the
+uplink open for return traffic through NAT routers. Set to 0 to
+disable the heartbeat messages.
+
 *-m* _mcast_::
 
 This tells *rrqnet* to open an ipv4 UDP multicast channel as an
 *-m* _mcast_::
 
 This tells *rrqnet* to open an ipv4 UDP multicast channel as an
@@ -72,6 +86,14 @@ networking channel in a format compatible with VDE plugs.
 * Without a *-t* argument, *rrqnet* will operate merely as a virtual
 cable switch among its channels.
 
 * Without a *-t* argument, *rrqnet* will operate merely as a virtual
 cable switch among its channels.
 
+*-S* _source_::
+
+This tells which source address to use for outgoing UDP messages.
+
+port::
+
+This non-optional argument tells which UDP port to use.
+
 _address-block[:port][=cryptfile]_ [ *-i* _mac_[,_mac_]* ]::
 
 Remotes are declared as +ipv4+ or +ipv6+ network address blocks
 _address-block[:port][=cryptfile]_ [ *-i* _mac_[,_mac_]* ]::
 
 Remotes are declared as +ipv4+ or +ipv6+ network address blocks
@@ -92,12 +114,12 @@ hosts via UDP messaging between the hosts.
 collection of fully connected hosts, although the more common is a
 "star' formation. See the EXAMPLES section for inspiration.
 
 collection of fully connected hosts, although the more common is a
 "star' formation. See the EXAMPLES section for inspiration.
 
-*rrqnet* includes logic aiming to protect against broadcast cycles.
-Howewer it does not have the more advanced spanning tree logic that is
-offered by bridge interfaces. In general it's probably best to avoid
-cabling cycles and perhaps rather run several *rrqnet* on a host with
-their taps connected with a bridge interface. Though, multiple virtual
-cabling paths between hosts might increase connection reliability.
+*rrqnet* includes logic to protect against broadcast cycles. Whilst
+acting as a switch for all its remotes it does not have spanning tree
+logic as is offered by bridge interfaces. Generally it's probably best
+to avoid cabling cycles, but *rrqnet* also handles full mesh linking
+between multiple hosts without additional configuration. Such a setup
+is also dynamically adapting to prefer the fastest link between hosts.
 
 By default *rrqnet* opens an +ipv6+ socket on the given port. This
 mode handles both +ipv6+ and +ipv4+ remotes with +ipv4+ remotes
 
 By default *rrqnet* opens an +ipv6+ socket on the given port. This
 mode handles both +ipv6+ and +ipv4+ remotes with +ipv4+ remotes
@@ -439,7 +461,8 @@ Using +-t -+ for stdin/stdout packet traffic is compatible with
 
 SEE ALSO
 --------
 
 SEE ALSO
 --------
-*rrqnet-cron.sh(8)* - Management script to uphold a *rrqnet* plug.
+*rrqnet-cron(8)* - Management script to uphold a *rrqnet* plug.
+*rrqnet-ifupdown(8)* - Management script to uphold a *rrqnet* plug.
 
 *vde_plug(1)* - Virtual Distributed Ethernet plug.
 
 
 *vde_plug(1)* - Virtual Distributed Ethernet plug.