VMware Cloud Community
Solidbrass
Enthusiast
Enthusiast
Jump to solution

VMXNET3 for OS X VM's?

Is there a way to make this work?  I'm using a cluster of Mac Mini's with 10Gbe NICs that are supported in ESXi 6 and I'd like to just give them a virtual 10Gbe NIC rather than a kludge of bonded 1Gbe NICs.

1 Solution

Accepted Solutions
dariusd
VMware Employee
VMware Employee
Jump to solution

I've recently been informed that OS X 10.11 and newer include a built-in driver for the VMware VMXNET3 virtual NIC (/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleVmxnet3Ethernet.kext).  I haven't had the chance to explore it yet, and it won't be officially supported until it's gone through all the necessary validation...

Regardless, I'd be interested to hear from folks with OS X 10.11 or macOS 10.12 guests running on Fusion or ESXi... Have you tried using vmxnet3 with those guests?  Please share your experiences!

Thanks,

--

Darius

View solution in original post

5 Replies
virtualg_uk
Leadership
Leadership
Jump to solution

VMware does not support VMXNET3 on OSX according to the Compatibility Guide: VMware Compatibility Guide - Guest/Host Search

See attached


Graham | User Moderator | https://virtualg.uk
0 Kudos
Skynet3020
Contributor
Contributor
Jump to solution

i wait a long time for this driver but vmware find this is not useful or whatever... i don't know why

for mac user using esxi, fusion etc. the driver would be welcome !

0 Kudos
dariusd
VMware Employee
VMware Employee
Jump to solution

I've recently been informed that OS X 10.11 and newer include a built-in driver for the VMware VMXNET3 virtual NIC (/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleVmxnet3Ethernet.kext).  I haven't had the chance to explore it yet, and it won't be officially supported until it's gone through all the necessary validation...

Regardless, I'd be interested to hear from folks with OS X 10.11 or macOS 10.12 guests running on Fusion or ESXi... Have you tried using vmxnet3 with those guests?  Please share your experiences!

Thanks,

--

Darius

lamw
Community Manager
Community Manager
Jump to solution

Here's a blog post on how to configure VMXNET3 for your Mac OS X VMs for those interested VMXNET3 driver now included in Mac OS X 10.11 (El Capitan)+ | virtuallyGhetto

Solidbrass
Enthusiast
Enthusiast
Jump to solution

Darius, I only just saw that you had replied on this, so apologies for my slow follow up.

I run vSphere 6 on Mac Mini's in rack mounted enclosures that add a dual 10Gbe NIC (iSCSI) and a quad 1Gbe NIC (LAN) via thunderbolt.  They are bandwidth limited by thunderbolt 1 since the quad core mini's only have thunderbolt 1, but in practice this only limits you to 8Gb of throughput, and I have seen over 750MB/s to a single Mac Mini from all flash iSCSI, making it more than twice as fast as an internal SSD to the older 3Gb SATA (which in some cases I do use for swap).  Being able to use VMXNET3 is really great since bonding lots of e1000 NICs etc is a mess in macOS and really does not have the same performance as a single 10Gbe port.


I just posted about how making changes via the HTML5 host client will break your macOS VM if VMXNET3 has been enabled.  The VMXNET3 driver is also limited to an MTU of 1500, which is a little bit unfortunate.  Beyond that however, it seems to just work.  I made the change on a handful of virtualized macOS systems in a production environment right after seeing that it was possible on Virtually Ghetto, with no noticeable problems as yet.  I have been using it on 10.11.6, 10.12.0, and 10.12.1 virtual machines FWIW.  I will probably hold off on doing the rest until I see whether the vSphere 6.5 HTML5 client breaks the VM's the way the host client does under vSphere 6.


You do not need to explicitly load the kernel extension.  Adding the VMXNET3 NIC by briefly marking the VM as "Other-64" and then switching it back works fine as long as you only do it through vCenter and do not change settings via the HTML5 host client.  macOS recognizes the VMXNET3 NIC on the next boot, loads the kernel extension, and you can configure it normally through the macOS UI as if it's nothing unusual.

0 Kudos