Hacker News new | past | comments | ask | show | jobs | submit login
VALE, a Virtual Local Ethernet (unipi.it)
13 points by lrizzo on June 8, 2012 | hide | past | favorite | 8 comments



I fail to see how this is different than virtual bridges (ie: brn interfaces in linux). Such interfaces exist within the host OS in a virtualized environment, support 802.1q trunks, and exhibit quite a lot of flexibility. They're also fast (they're faster than I've ever had need for, though I don't know exact numbers offhand). Am I missing something, or hasn't this been done before?


Among other things, the difference is speed: VALE can do 18 Mpps versus the 0.8 Mpps of a Linux bridge. And sometimes you do need speed, maybe not for virtual machines but e.g. if you want to stress test your network monitors, routers, IDS etc. For instance, using VALE we found out a missing event notification in QEMU/KVM which limited the receive speed to 50 Kpps, and a one-line fix brought it up to 1 Mpps.


Solaris 11 also has virtual networking and it doesn't suffer from those same performance issues:

  http://www.oracle.com/technetwork/server-storage/solaris11/technologies/networkvirtualization-312278.html


'Speed' is a good enough answer. I was mostly wondering if there was some fundamental difference that I wasn't seeing, or if it was just a better/faster implementation of the same thing.


It looks a lot as VDE (virtual distributed ethernet) [0] (quickly referenced in the paper).

Qemu used to support VDE natively for a while, then the development stopped and its support has been removed from mainline. It was cool while it lasted.

The main differences with VDE seem to be that VALE uses a kernel backend instead of being 100% in user space and that VALE is limited to local ethernet while VDE provided also remote "plugs" and "cables".

[0] http://vde.sourceforge.net/


Does anyone know if the related netmap project[1] is being consider for inclusion into mainline linux? I haven't seen much discussion of the project apart from a few HN and proggit threads. It looks like effort was made to make netmap compatible with existing systems, although according to the author, small portions of network drivers need to be rewritten.

[1] http://info.iet.unipi.it/~luigi/netmap/


It'll be mainlined if the authors follow the process, which they won't because they're academics.


(I'll take this chance to give a clarification on the topic but otherwise would like to stop this thread here).

Your comment is unfair. I have contributed tons of things to the FreeBSD kernel, and to the Asterisk project, following the process that each organization uses. Some of my code (the qfq scheduler) has also been integrated in Linux by third parties who were motivated enough to carry on the work. The problem is not us being academics, but rather that there are only so many hours in a day. Some help from people more involved in "the process" would certainly be welcome.

Note that the netmap code is fairly small and self contained. It is meant to run on multiple platforms though, and I'd rather have it this ways than have to maintain two separate version. It is only thanks to this feature that i could develop VALE on FreeBSD and have it running on Linux in a matter of minutes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: