[vbox-dev] [PATCH] UDPTunnel : new network interface backend to allow using this to link to GNS3 and QEMU instances over the network

Klaus Espenlaub klaus.espenlaub at oracle.com
Wed May 18 10:07:22 GMT 2011

BTW... again sorry about taking quite some time to integrate this 
change, however I keep having great ideas for improving the VirtualBox 
API when finishing the work on the previous idea. If I committed my 
incremental changes everyone would be upset about settings breakages.

The intention is making the network card API extensible for future 
network interface backends without having to touch the API 
implementation. It's really a great opportunity you accidentally 
created, and if things go as planned one should be able to provide new 
backends at any time in extension packs. Not that I consider it 
important for the UDP tunnel change which can stay in the source tree, 
but anyway very useful in the long run. It's certainly an option for VDE 
- I agree with Perry Halbert's argument that having to recompile 
VirtualBox to get a feature is annoying to put it mildly.

This means that I'm right now redoing things about the third time, and I 
haven't started going over the actual UDPTunnel backend implementation 
(which needs some cleanup - not handling pause/resume correctly isn't 
acceptable, and easy to fix).

The side effect of this revamp will be that anyone using VDE and 
UDPTunnel in VMs created with trunk (or having been updated to the 
latest config version for some reason) will break. The configs will be 
not be accepted any more, as it's not really worth cluttering the 
settings code with really tricky code for converting those settings back 
and forth.

Another side effect will be that the GUI needs to be improved to handle 
this generic facility. Initially only the command line will be able to 
configure VDE and UDPTunnel setups. The GUI will only be smart enough to 
switch to VDE or UDPTunnel, but not able to modify the details.


On 15.05.2011 23:11, Alexey Eromenko wrote:
>> 00:00:01.515 DrvUDPConstruct : Attempting to parse network
>> sport=4444;dest=;dport=4445
> It looks correct.
>> 00:00:01.515 VMSetError:
>> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.1.0_OSE/src/VBox/Devices/Network/DrvUDPTunnel.cpp(598)
>> int drvUDPConstruct(PDMDRVINS*, CFGMNODE*, uint32_t);
>> 00:00:01.515 VMSetError: Failed to bind the server socket
> Hmmm...
> Since it works on Linux (Debian 6.0 "Squeeze"), what could be different ?
> UDP socket library ?
> I recommend you this:
> Do you have Linux host ? (Multi-boot maybe?)
> -or-
> On your FreeBSD host, Install Linux VM and inside that VM try to
> compile and use VirtualBox 4.1 with UDP Tunnels. (aka "Nested
> Virtualization", layer 2). This works for me.
> I use: Windows 7 host as layer 1 VBox 4.0.6, and Debian 6.0 x64 host
> as layer 2 VBox 4.1.0-Alpha, and Windows XP as guests at layer3.
> Layer 3 guests are always 32-bit (VirtualBox cannot nest VT-x features).

Oracle <http://www.oracle.com>
Dr. Klaus Espenlaub | Snr. Manager Software Development Desktop
Phone: +49 7151 60405 205 <tel:+49715160405205>
Oracle VM VirtualBox

ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven

Green Oracle <http://www.oracle.com/commitment> 	Oracle is committed to
developing practices and products that help protect the environment

More information about the vbox-dev mailing list