diff -uNr ../1/vbox/doc//manual/en_US/user_Networking.xml ./doc//manual/en_US/user_Networking.xml
--- ../1/vbox/doc//manual/en_US/user_Networking.xml	2011-06-01 01:34:26.000000000 -0400
+++ ./doc//manual/en_US/user_Networking.xml	2011-06-01 12:55:59.000000000 -0400
@@ -116,7 +116,7 @@
     <title>Introduction to networking modes</title>
 
     <para>Each of the eight networking adapters can be separately configured
-    to operate in one of the following five modes:<glosslist>
+    to operate in one of the following several modes:<glosslist>
         <glossentry>
           <glossterm>Not attached</glossterm>
 
@@ -180,17 +180,36 @@
         </glossentry>
 
         <glossentry>
+          <glossterm>Generic networking</glossterm>
+
+          <glossdef>
+            <para>Rarely used modes share the same generic network 
+            interface.</para><para>
+            This mode can be further subdivided into several sub-modes:</para>
+          </glossdef>
+        <glosslist>
+        
+        <glossentry>
+          <glossterm>UDP Tunnel</glossterm>
+
+          <glossdef>
+            <para>This can be used to interconnect virtual machines running on
+            different hosts directly, easily and transparently, over existing
+            network infrastructure.</para>
+          </glossdef>
+        </glossentry>
+        
+        <glossentry>
           <glossterm>VDE (Virtual Distributed Ethernet) networking</glossterm>
 
           <glossdef>
             <para>This option can be used to connect to a Virtual Distributed
-            Ethernet switch on a Linux or a FreeBSD host. It is only available
-            if the VDE software and the VDE plugin library from the
-            VirtualSquare project are installed on the host system. For more
-            information on setting up VDE networks, please see the
-            documentation accompanying the software.</para>
+            Ethernet switch on a Linux or a FreeBSD host.</para>
           </glossdef>
         </glossentry>
+        
+        </glosslist>
+        </glossentry>
       </glosslist></para>
 
     <para>The following sections describe the available network modes in more
@@ -599,4 +618,126 @@
         </listitem>
       </itemizedlist></para>
   </sect1>
+  
+  <sect1 id="network_udp_tunnel">
+    <title>UDP Tunnel networking</title>
+
+    <para>UDP tunnel is a great mechanism, that allows to interconnect virtual
+    machines running on different hosts.
+    </para>
+
+    <para>Technically this is done by encapsulating guest's Ethernet frames
+    into host's UDP/IP packets, and sending them over host's network.
+    This tunnel is a sort of VPN, except that UDP tunnel is not encrypted.
+    </para>
+
+    <para>UDP Tunnel has 3 parameters:</para>
+
+    <para><itemizedlist>
+        <listitem>
+          <para>Source UDP port - The port, that the host listens to... UDP/IP
+          packets arriving here will be forwarded to guest's input</para>
+        </listitem>  
+        <listitem>
+          <para>Destination address - target IP address, of target host</para>
+        </listitem>
+        <listitem>
+          <para>Destination UDP port - This is where the host sends
+          packets to.</para>
+        </listitem>
+      </itemizedlist></para>
+
+    <para>When interconnecting 2 virtual machines on 2 different hosts, their
+    IP addresses must be swapped. On single host, source and destination UDP 
+    ports must be swapped.</para>
+    <para>Here I provide example, assuming host 1 uses IP address of
+    "10.0.0.1" and host 2 uses IP address of "10.0.0.2".</para>    
+
+    <para><itemizedlist>
+        <listitem>
+          <para>Example configuration via command-line: 
+          <screen>VBoxManage modifyvm "VM 01 on host 1" --nic&lt;x&gt; generic</screen>
+          <screen>VBoxManage modifyvm "VM 01 on host 1" --nicgenericdrv&lt;x&gt; UDPTunnel</screen>
+          <screen>VBoxManage modifyvm "VM 01 on host 1" --nicproperty&lt;x&gt; dest="10.0.0.2"</screen>
+          <screen>VBoxManage modifyvm "VM 01 on host 1" --nicproperty&lt;x&gt; sport="10001"</screen>
+          <screen>VBoxManage modifyvm "VM 01 on host 1" --nicproperty&lt;x&gt; dport="10002"</screen>
+          and
+          <screen>VBoxManage modifyvm "VM 02 on host 2" --nic&lt;y&gt; generic</screen>
+          <screen>VBoxManage modifyvm "VM 02 on host 2" --nicgenericdrv&lt;y&gt; UDPTunnel</screen>
+          <screen>VBoxManage modifyvm "VM 02 on host 2" --nicproperty&lt;y&gt; dest="10.0.0.1"</screen>
+          <screen>VBoxManage modifyvm "VM 02 on host 2" --nicproperty&lt;y&gt; sport="10002"</screen>
+          <screen>VBoxManage modifyvm "VM 02 on host 2" --nicproperty&lt;y&gt; dport="10001"</screen>
+          </para>
+        </listitem>
+      </itemizedlist></para>
+
+    <para>Of course, you can always interconnect 2 virtual machines on the
+    same host, by setting "destination address" parameter to dest="127.0.0.1"
+    on both - it will act similarly to "Internal network" in this case.</para>
+    
+    <para>NOTE: On Unix-based hosts (e.g. Linux, Solaris, Mac OS X) it is
+            not possible to bind to ports below 1024 from applications that
+            are not run by <computeroutput>root</computeroutput>. As a result,
+            if you try to configure such a source UDP port, the VM will refuse
+            to start.</para>
+  </sect1>
+  
+  <sect1 id="network_vde">
+    <title>VDE networking</title>
+
+    <para>Virtual Distributed Ethernet (VDE) is a full-blown virtual network
+    infrastructure, spanning across multiple hosts in a secure way, that allows 
+    for L2/L3 switching, including spanning-tree protocol, VLANs, and WAN 
+    emulator.
+    </para>
+
+    <para>VDE has 1 parameter:</para>
+
+    <para><itemizedlist>
+        <listitem>
+          <para>VDE network - this is the network you're going to connect to.</para>
+        </listitem>  
+      </itemizedlist></para>
+
+    <para>Here I provide a basic example, that will show you how-to connect a
+    virtual machine to the VDE switch.</para>
+
+    <para><itemizedlist>
+        <listitem>
+          <para>Create a VDE switch:
+          <screen>$ vde_switch -s /tmp/switch1</screen>
+          </para>
+        </listitem>
+        <listitem>
+          <para>Example configuration via command-line: 
+          <screen>VBoxManage modifyvm "VM name" --nic&lt;x&gt; generic</screen>
+          <screen>VBoxManage modifyvm "VM name" --nicgenericdrv&lt;x&gt; VDE</screen>
+          To connect to automatically allocated switch port, use:
+          <screen>VBoxManage modifyvm "VM name" --nicproperty&lt;x&gt; network="/tmp/switch1"</screen>
+          To connect to specific switch port &lt;n&gt;, use:
+          <screen>VBoxManage modifyvm "VM name" --nicproperty&lt;x&gt; network="/tmp/switch1[&lt;n&gt;]"</screen>
+          </para>
+        </listitem>
+      </itemizedlist></para>
+
+    <para>NOTE: VDE is available on Linux and FreeBSD hosts only. It is only 
+            available if the VDE software and the VDE plugin library from the
+            VirtualSquare project are installed on the host system. For more
+            information on setting up VDE networks, please see the
+            documentation accompanying the software.<footnote>
+    <para><ulink
+      url="http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking">http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking</ulink>.</para>
+    </footnote></para>
+    
+    <para>WAN emulator is provided by the "VDE wirefilter" featuring packet loss,
+    delays, packet duplication, data corruption, speed limit and more.
+    <footnote>
+    <para><ulink
+      url="http://wiki.virtualsquare.org/wiki/index.php/VDE#wirefilter">http://wiki.virtualsquare.org/wiki/index.php/VDE#wirefilter</ulink>.</para>
+    </footnote>
+    </para>
+    
+    <para>VDE is a product developed by Renzo Davoli, Associate Professor at 
+    the University of Bologna, Italy.</para>
+  </sect1>
 </chapter>
diff -uNr ../1/vbox/doc//manual/en_US/user_Security.xml ./doc//manual/en_US/user_Security.xml
--- ../1/vbox/doc//manual/en_US/user_Security.xml	2011-06-01 01:34:26.000000000 -0400
+++ ./doc//manual/en_US/user_Security.xml	2011-06-01 01:39:50.000000000 -0400
@@ -30,6 +30,12 @@
           HTTP. This is a potential security risk! For details about the web
           service, please see <xref linkend="VirtualBoxAPI" />.</para>
         </listitem>
+        
+        <listitem>
+          <para>All traffic sent over UDP Tunnel is not encrypted.
+          You can either encrypt it on the host network level (with IPsec),
+          or use encrypted protocols in the guest network (such as SSH).</para>
+        </listitem>
       </itemizedlist></para>
   </sect1>
 
diff -uNr ../1/vbox/doc//manual/en_US/user_VBoxManage.xml ./doc//manual/en_US/user_VBoxManage.xml
--- ../1/vbox/doc//manual/en_US/user_VBoxManage.xml	2011-06-01 01:34:26.000000000 -0400
+++ ./doc//manual/en_US/user_VBoxManage.xml	2011-06-01 03:05:17.000000000 -0400
@@ -658,7 +658,8 @@
       should be changed.<itemizedlist>
           <listitem>
             <para><computeroutput>--nic&lt;1-N&gt;
-            none|null|nat|bridged|intnet|hostonly|vde</computeroutput>: With
+            none|null|nat|bridged|intnet|hostonly|generic
+            </computeroutput>: With
             this, you can set, for each of the VM's virtual network cards,
             what type of networking should be available. They can be not
             present (<computeroutput>none</computeroutput>), not connected to
@@ -667,9 +668,9 @@
             bridged networking (<computeroutput>bridged</computeroutput>) or
             communicate with other virtual machines using internal networking
             (<computeroutput>intnet</computeroutput>), host-only networking
-            (<computeroutput>hostonly</computeroutput>) or on Linux and
-            FreeBSD hosts a Virtual Distributed Ethernet switch
-            (<computeroutput>vde</computeroutput>). These options correspond
+            (<computeroutput>hostonly</computeroutput>), or access rarely used
+            sub-modes (<computeroutput>generic</computeroutput>).
+            These options correspond
             to the modes which are described in detail in <xref
             linkend="networkingmodes" />.</para>
           </listitem>
@@ -744,14 +745,24 @@
           </listitem>
 
           <listitem>
-            <para><computeroutput>--vdenet&lt;1-N&gt;
-            network</computeroutput>: If Virtual Distributed Ethernet is
-            available on the host and has been enabled for a virtual network
-            card (see the <computeroutput>--nic</computeroutput> option above;
-            otherwise this setting has no effect). Use this option to specify
-            the name of a VDE network for the interface to connect to (see
-            <xref linkend="networkingmodes" /> and the VDE
-            documentation).</para>
+            <para><computeroutput>--nicgenericdrv&lt;1-N&gt;
+            &lt;backend driver&gt;</computeroutput>: If generic networking has been 
+            enabled for a virtual network card (see the
+            <computeroutput>--nic</computeroutput> option above; otherwise
+            this setting has no effect), this mode allows you to access
+            rarely used networking sub-modes, such as VDE network or UDP Tunnel.
+            </para>
+          </listitem>
+          
+          <listitem>
+            <para><computeroutput>--nicproperty&lt;1-N&gt; 
+            &lt;paramname&gt;="paramvalue"</computeroutput>:
+            This option, in combination with "nicgenericdrv" allows you to
+            pass parameters to rarely-used network backends.</para><para>
+            Those parameters are backend engine-specific, and are different
+            between UDP Tunnel and the VDE backend drivers. For example, 
+            please see <xref linkend="network_udp_tunnel" />.
+            </para>
           </listitem>
         </itemizedlist></para>
 
@@ -1319,7 +1330,7 @@
 
       <listitem>
         <para><computeroutput>nic&lt;1-N&gt;
-        null|nat|bridged|intnet|hostonly</computeroutput>: With this, you can
+        null|nat|bridged|intnet|hostonly|generic</computeroutput>: With this, you can
         set, for each of the VM's virtual network cards, what type of
         networking should be available. They can be not connected to the host
         (<computeroutput>null</computeroutput>), use network address
@@ -1327,7 +1338,9 @@
         (<computeroutput>bridged</computeroutput>) or communicate with other
         virtual machines using internal networking
         (<computeroutput>intnet</computeroutput>) or host-only networking
-        (<computeroutput>hostonly</computeroutput>). These options correspond
+        (<computeroutput>hostonly</computeroutput>) or access to rarely used
+        sub-modes 
+        (<computeroutput>generic</computeroutput>). These options correspond
         to the modes which are described in detail in <xref
         linkend="networkingmodes" />.</para>
       </listitem>
diff -uNr ../1/vbox/doc//manual/user_ChangeLogImpl.xml ./doc//manual/user_ChangeLogImpl.xml
--- ../1/vbox/doc//manual/user_ChangeLogImpl.xml	2011-06-01 01:34:26.000000000 -0400
+++ ./doc//manual/user_ChangeLogImpl.xml	2011-06-01 01:39:50.000000000 -0400
@@ -13,6 +13,12 @@
           to have a common interface for frontends.</para>
       </listitem>
 
+      <listitem>
+        <para>New Networking Mode: <emphasis>UDP Tunnel</emphasis>. Allows to
+        interconnect VMs running on different hosts easily and transparently.
+        see <xref linkend="networkingmodes" /></para>
+      </listitem>
+      
     </itemizedlist>
 
     <para>In addition, the following items were fixed and/or added:</para>
