At VMworld I attended the excellent “Networking Deep Dive” (TA2525) by Srinivas Neginhal. Here are just a few things he discussed that jumped out me as either new information (not in the standard documentation) or something that expanded on my current understanding.
ESX hosts keep a local cache of the vDS and DVPort information, to use when vCenter is unavailable (both are non-editable binary files):
Host DVPort state: /etc/vmware/dvsdata.db
VM DVPort state: /vmfs/volumes/<storage>/.dvsData
DVPort binding types:
- Static – assigned to the virtual adapter and immediately pushed to the host. Written to the host’s cache and written in the VM’s vmx file.
- Dynamic – assigned when the VM is powered on, and then pushed to the host. There is no guarantee that the VM will get the same DVPort on the next power on. However it uses a concept similar to DHCP in that if the same port is available then it will renew that one.
- Ephemeral – a new port on every power-on. The port is destroyed when the VM disconnects from the port. Essentially this is what happened on all vSwitch ports on ESX 3.x and lower. This is the only option if you are connecting the client directly to the host, vCenter is required to create the other 2 types of binding.
He also explained the Traffic Shaping terminology, which seems obvious in retrospect but was something that I hadn’t “got”. Simply put, its all relative to the switch. So Ingress traffic is stuff coming in, whether from a VMNIC (physical adapter) or a vNIC (VM’s adapter). Egress traffic is leaving the switch.
And one last thing which stood out was a table he used to quickly show some of the advanced vNIC driver capabilities. I’d not seen this laid out in this way, and is much more specific than the standard documentation (in fact if this is correct, which I’m sure it is, then the current documentation is downright misleading – N.B I need to update my vSphere reference card with this). It also makes it much easier to remember.
TSO – TCP Segmentation Offloading
RSS – Receive Side Scaling http://www.microsoft.com/whdc/device/network/NDIS_RSS.mspx
MSI/MSI-X – Message Signaled Interrupts http://blogs.sun.com/gnunu/entry/how_does_msi_x_work
Update: VMware has just released this performance whitepaper discussing the merits of the new vmxnet3 driver.
2 thoughts on “VMworld: Networking Deep Dive”
Just found your site while looking for information on ports used for communications between vCenter and ESX – really good stuff, thanks for sharing!
In this article the table has IPv4 TSO twice – am I correct in assuming that the second line should be IPv6 TSO?
Hi Chris, yes you’re quiet right, the second line should be IPv6 TSO. I’ll update it soon as I can. Thanks for the heads up.