Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jan 2013 00:42:14 -0600 (CST)
From:      Bryan Venteicher <bryanv@daemoninthecloset.org>
To:        freebsd-net@freebsd.org
Subject:   VMware vmxnet2 driver
Message-ID:  <1873789450.140.1358145734760.JavaMail.root@daemoninthecloset.org>
In-Reply-To: <975792706.137.1358145587551.JavaMail.root@daemoninthecloset.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

During the previous months, I've been porting OpenBSD's vmxnet driver
(if_vic) to FreeBSD [1]. It has reach a doneness that I'd like to draw
attention to it for those not subscribed to svn-projects.

Most of the original OpenBSD driver - the attach, init, and Tx/Rx paths -
have been rewritten. I added support for vmxnet2 - IPv4 TSO and checksum
offloading. Code for LRO was added too, but I cannot figure out how to
get it enabled on the hypervisor.

Unfortunately, the driver tends to be no faster than the emulated em
device, which certainly is not the desired outcome for a paravirtualized
device. Nothing in the code jumps out as an obvious performance killer.
The original OpenBSD driver suffers from the same lower performance, so
it was not introduced during the port. I casually suspect the vmxnet code
in VMware has not gotten much attention since vmxnet3 was introduced.

The performance issue is gating this from being merged into HEAD, but I
don't have the spare cycles at the moment to really investigate this; and
I need to spend time to get VirtIO in better shape.

My ultimate goal is to have a BSD licensed vmxnet3 driver included in
FreeBSD to remove the need to use the poor one that's apart of the VMware
tools. There is work in progress to get the necessary documentation to
make that happen, but there is no firm date yet (likely later this year,
hopefully in time for 10.0).

Any testing or performance data is welcome. For bulk TCP transfers, if_vic
will tend to be faster than em (~1/2 a magnitude) due to TSO, but I don't
think that warrants merging into HEAD yet.

Bryan

[1] - http://svnweb.freebsd.org/base/projects/vmxnet/sys/dev/vmware/vmxnet/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1873789450.140.1358145734760.JavaMail.root>