Problems using vxn (VMXNET2) under Vmware
First off, I'm running pfsense under Vmware Vsphere (ESX 4.0 Update1).
I've recently decided to try and change to vmxnet-based nic's for my pfsense installation, I have also migrated to 2.0Beta (just because I like to stay fresh).
However, after installing 2.0Beta and using E1000 as my emulated nic's (to install open-vm-tools from the package handler) and trying to add some vmxnet-based devices works fine, I can see the vxnX devices just fine under pfsense (both ifconfig and from the (assign) menu in the webgui.
The problem arises when trying to use vmxnet-based devices for the LAN and WAN connections, if I change these devices to vmxnet and reboot the machine it just says "no interfaces found" and I have to revert to E1000 (or flexible which gives me leX devices, aka vlance I guess).
These vl devices work just fine too, but why doesn't vmxnet-devices work ? Isn't that the whole point of the vmxnet.ko module in open-vm-tools ? :-)
Btw.. Open-VM-tools takes roughly 4-5 times longer to install on 2.0 than it does on the old 1.x versions, and looks like it.. hangs during the process (which confused me at first, as I thought the package was bugging).
Any experience is highly appreciated.
I've seen this post : http://forum.pfsense.org/index.php/topic,21510.msg131211.html#msg131211 , however this did not alliviate the situation.
VMWare have only released VMWare Tools V4 to open source, and that's the version that's been ported to FreeBSD and consequently pfSense via the Open-VM-Tools package. VMWare's latest version is 7 or 8.
VMXnet has never been supported by FreeBSD, and VMWare only produce tools (which are free, but not open source) for Linux. Either way, I'm 99% sure that only e1000 (emX) and vlance (leX) work with FreeBSD.
Lastly, this issue is really nothing to do with pfSense. There's a whole chain of events that have to happen before it becomes pfSense's problem: First you need to complain to VMWare to open source the newer tools with a BSD compatible license, then kindly ask the FreeBSD peeps to port the newly open sourced Linux driver and when that's released into the FreeBSD build, only then is it possible for the pfSense dudes to update the VM-Tools package.
Thanks for your reply, and it makes things a whole lot clearer.
I'll try to pull my Vmware-strings from the company side to see if they can give me a yay or a nay to if this will ever happen though.
I'll stick with vlance for now then I guess, or compare the performance of vlance to e1000 atleast.
I think I read somewhere that VMXnet is actually specially tweaked fork of the e1000 driver that takes advantage of the I/O virtualization stuff like IOAT, VT-d and RSS (Receive Side Scaling, not Really Simple Syndication!) - which are only available in expensive modern servers. In other words, you'll only see the performance advantage of VMXnet on a heavily abused but dedicated ESX box in a datacentre. The irony of all this is that the NIC's that have all this IOAT and RSS crap are the Intel Server Adapters, which the e1000 driver is there to drive…
In real world usage, you'll find that e1000 is equal to vmxnet in performance. vlance on the other hand is only there for compatibility issues, and for a fallback in case e1000 is broken.
I'm guessing there might be support for the VM to take advantage of the TOE-part of the chip aswell maybe.
I'll have to do some reasearch on that.
I don't have a highend datacenter, but I do have a hobbist garage :-)