Upgrading to ESX 4 Classic sets NIC speed to static setting

Recently I found that my environment of ESX 4 Classic has a lot of static NIC speed settings. This is a rather interesting discovery as I’ve been a strong proponent of using Auto Negotiation on all the NICs as that will help one find flaky or poorly connected cables along with a variety of other issues. If you have it force set to a speed, you won’t get any notification that a given connection is working poorly until someone digs in pretty deeply.

Ethermind goes into very well with some deep research into WHY you should always use AutoNegotiation at Gig or faster speeds.

Nic Configured Speeds

As such found that there are many 100meg static settings. This has a tendancy to cause problems with network performance when the other side thinks it is auto-negotiating.

To fix this if you are properly redundant is a safe way to walk through your environment updating and giving each NIC a chance to negotiate before doing the next on each host.

1
2
connect-viserver -server vCenter -cred (Get-Credential)
get-vmhostnetworkadapter -physical | where {$_.Name -eq "vmnic0"} | set-vmhostnetworkadapter -Autonegotiate

Update 30 July 2010 @ 11:38am: Just found out that I’m not the first to blog post about this. Here’s an earlier post on the subject.