VMware Cloud Community
tekhie
Contributor
Contributor

What speed is my VM nic running at ?

Hi - i have a quick question about vnics inside my guest OS. On a Windows OS if i go to the network properties i have a property called "External PHY" - Its value is set to "auto detect" but i am able to change the value to 100MB or 10MB. My question is what is "external phy" ? If i use the auto detect setting does my VM communicate at the speed of the switch port that my vswitch is uplinked to (in this case gigabit switch port) ? If i want to throttle back the speed a VM communicates to the network at do i only have to change the speed for this value in the nic properties inside the guest OS ?

0 Kudos
6 Replies
msemon1
Expert
Expert

If you have VM Tools installed, with the vmxnet driver, set to auto, then the connection will run at the speed of the NIC either 100MB or 1000MB full duplex. If the VM does not have VM Tools installed, and is using default Vlance NIC driver, then it will run at 10MB half duplex. The vmxnet and enhanced vmxnet have drivers written for virtual machine.

Mike

0 Kudos
weinstein5
Immortal
Immortal

The way I have always understood it is to keep in mind where on the OSI model a virtual NIC operates - it operates at layer and 4 and above where 'speed' has no meaning since it is a layer two parameter - however the guest o/s still expects the NIC to be operating at layer 2 so you have the O/S able to set a 'speed' for the virtual NIC - if you really want to control throughput out of the virtual NIC set it at the virtual machine port group where ou can the bandwidth the virtual NIC will use -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
0 Kudos
RParker
Immortal
Immortal

> i have a quick question about vnics inside my guest OS

Everyone complicates and confuses the issue. The basic principle is the HOST controls the connection. That's all there is to it.

so if you configure a switch and that switch is a 10/100 NIC then ALL your VM's run at 10/100. If they are gig ports, ALL the VM's run at Gig speeds.

It's that simple. You can limit the speed of the VM, but by default, that's how it works.

0 Kudos
RParker
Immortal
Immortal


then the connection will run at the speed of the NIC either 100MB or 1000MB full duplex

The tools will make ZERO difference, the tools provide a driver. That driver is a simple generic driver. If the VM happens to see the NIC, the speed is still the same.

Windows usually can't use the vNIC until you install the tools because there are no drivers built into Windows for VM Ware drivers.

Vlance or no vlance the speed is the same, despite what the NIC shows on the taskbar, it will run at whatever speed the vSwitch is configured for.

0 Kudos
msemon1
Expert
Expert

There is more to it than that. I agree that the speed is primarily controlled at the swtich, However,

The VMXNet driver is a more optimized driver than the VLANCE driver. It processes fewer interrupts and in general is just more "streamlined". It, too, is not constrained by the reported link speed. Even though it reports a 1Gb connection, you could potentially pass data at a greater speed.

Basically, the virtual network drivers process data as quickly as they can. The VLANCE driver is more compatible than the VMXNet driver because it accurately emulates the AMD LANCE chipset interrupts and such. Most OS's ship with a LANCE driver that will detect the VLANCE virtual device. Once you've installed VMware Tools, you should switch to the VMXNet driver to reduce the processing overhead (and thus, the workload) on your ESX host.

http://communities.vmware.com/message/111288;jsessionid=B1D36048B1DD12A0EBE1D54A6E396DD7

0 Kudos
ksc
VMware Employee
VMware Employee

The virtual device implementation doesn't pay any attention to the guest-supplied speed. (The guest driver has to supply an interface to Windows to set the value to function in the Windows device driver framework, but that interface doesn't connect to anything.) So it's limited only by host configuration - whatever the hardware can do (desktop products), or the combination of hardware and vSwitch configuration (ESX).

Windows usually can't use the vNIC until you install the tools because there are no drivers built into Windows for VM Ware drivers.

Depends on the vNIC. vLance and e1000 drivers do tend to come in-box (e1000 on anything in the past ~5 years), vmxnet2/vmxnet3 drivers have to be specifically installed. Might change eventually, can't really say any more specifically. (You can find vmxnet3 undergoing review on LKML, so it at least will eventually reach Linux mainline.)

0 Kudos