[vbox-dev] Building own VirtualBox extension Pack and distribute it

Klaus Espenlaub klaus.espenlaub at oracle.com
Mon Jul 15 06:30:54 PDT 2013

Hi Clemens,

(I know that this answer is super late, but I assume it is interesting 
for some people...)

On 14.09.2012 13:56, Clemens A. Schulz wrote:
> Hi,
> I found an entry on this mailinglist about developing an VirtualBox
> extension [1] and asked myself how to compile this extension so that
> it will be possible to distribute it to other people (like the
> official ExtensionPack)?

Everyone can develop an extension pack, and there is a skeleton one in 
src/VBox/ExtPacks, and also a sample extpack which adds a Bus Mouse 
device emulation.

> Is a complete VBox SDK env needed or can the extension pack compiled
> separatly?

Currently development of an extension pack is not covered by the SDK, 
you need the full VirtualBox source tree for that.

Once built (needs to be done for every relevant platform...) you should 
be able to install them on a reasonably matching VirtualBox base package.

> Furthermore I have some more detailed questions on the possibilities
> of the Extensions:
> My Goal: I want to implement a new network adapter connection type
> (like briged, NAT, etc. that are already available). This network
> connection type should be connect the guest OS to a VPN (with some
> connfiguration window). So it should be possible to get the network
> traffic from the guest OS and put it into the own implemented
> VPN-Client, which should be part of this ExtPack. Is this basicly
> possible? The networktraffic from the guest OS should not be readable
> from any OS network device unencrypted.

This is doable with a generic network provider module, and right now 
there are two 3rd party examples already, the UDP Tunnel and the VDE 
modules, see src/VBox/Devices/Network/Drv{UDPTunnel,VDE}.cpp.

> Alternativly a new network adapter could be implemnted which
> represents the VPN-Client then. Is this possible/impossible too?

No need to create a new network adapter :)

> If both is impossible: Any other chance to get something like that running?

An extension pack is the best way for doing this.


> Thanks for your answer and have a nice day!
> With best regards,
> Clemens Schulz
> [1]: https://www.virtualbox.org/pipermail/vbox-dev/2011-August/004444.html

More information about the vbox-dev mailing list