Experimentation is typically the last step before launching a network application in the wild. However, it is often difficult to gather enough hardware resources for experimenting with a reasonably sized network inside a controled environment. Virtualization is powerful for creating such a controled network. We propose a helper tool called vswitch designed to create virtual switches, hubs and links for interconnecting virtual machines. It runs entirely in user space and only uses TCP or UDP sockets to interconnect with the emulators of the virtual machines. Any emulator proposing sockets as a network backend can use vswitches. It has two modes: a raw mode forwarding the data as is and a qemu mode for managing Ethernet frames. It supports the QEMU and dynamips basic frame exchange protocol over TCP. Each interface can have any of its parameters (bandwidth, delay, BER) modified separately on its input and output queues. The vswitch is thus a network component virtualization software that emulates basic layer 1/2 network components to build virtual networks. The vswitch is a software written in C++ and available for download at no charge. Please note that there may be some bugs left so please always get the latest version. This software is provided "as is" without warranty of any kind.
BP
needs to be edited with your proper boost path.
help
to list the commands and see the syntax.
add intf1
set intf1 all bw 10000000
conn qemu endp1 tcp * * 127.0.0.1 5001
bind endp1 intf1
add intf2
set intf2 all bw 10000000
conn qemu endp2 tcp * * 127.0.0.1 5002
bind endp2 intf2
show ep
A manual will be available soon.
If you use vswitch for research, please cite:
Last updated: November 2, 2012.