I have implemented few new features into VDE. The new features include, IP
sockets for VDE instead of UNIX, VDE connectivity using ip sockets instead
of VDE-plug/tap/ssh tunnel and also QnQ. I want to contribute this back to
open source and was wondering how to go about this.

This code is being tested in Juniper for past 2 years with an average of
2000 VMs (QEMU) being created and destroyed every day and on an average
2000 VDE switches running at any given instance of time. More over, VDE is
a part of Juniper's Junosphere product. The VDE code is made available on
the internet at juniper's website.


The reasons I implemented these:

We wanted to build a highly scalable cluster with a topology per user
consisting of 35-40 VMs and around 10-12 VDE switches to simulate Juniper's
Qfabric. We have a cloud implementation that has around 200 servers that
can host 25 VMs per host. When the user requests creation of a topology,
the VMs are scattered over all the hosts and in order to ensure
connectivity between them we use VDE. Now having one VDE per VM per user
topology and then connecting them using SSH is a huge burden on the
management of these VMs and VDEs. Additionally, for 200 users we had to
create 40 * 200 = 8000 VDE switches and tether them. Therefore, I got IP
socket implementation, where we have dedicated high bandwidth VDE servers,
which hosts just VDE switches and have aggregated 10Gig link. VMs can now
directly connect to the VDE switch that are spawned on these VDE servers.
With this, we create 10 * 200 = 2000 which is much easier to handle and
also creation and destroying of VDE happens in one centralized place.

VDE-VDE connection
With the implementation of IP sockets, if at all a need arises to tether
multiple VDE switches, say we want to connect two different topologies, we
can burn a port on each VDE switch and establish connection using ip
sockets. If one wants secure connectivity, of course legacy method using
SSH tunnel is still there.

When we want to have L2 connectivity between these VM topologies along with
some hardware that are in a LAB, administrator will carve out a VLAN and
allocate some hardware resources. If the VMs and the hardare define their
own VLANs, then we need to encapsulate these VLANs inside the administrator
assigned VLANs. For this we need QnQ. This is typical when VM is running a
router software.

These are the use cases that led to the implementation of these new
features in VDE. Please let me know your comments.

Juniper Networks.
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
vde-users mailing list

Reply via email to