Upgrading NIC drivers for RHEL VMs when upgrading VMWare Tools

Latest response

I'm in the process of upgrading new VMWare Tools for various versions of RHEL and I've noticed that a few of them aren't automatically upgrading to the newest driver of VMXNET 3. Discovered this while troubleshooting a socket issue with a RHEL server.

For a few of my test VMs, I'm deleting the NIC, creating a new NIC and then launching the GUI and editing the MAC address to show the new MAC address, which seems to work the best. I did try from the CLI to rename /etc/syconfig/network-scripts/ifcfg-eth0 to ifcfg-eth0.bkup and revise the MAC address and this seemed to cause issues, so I stuck with the GUI to make the update.

Was wondering if anyone had any recommendations on how to update these or a better way to do it.

thanks

Responses

ifcfg-eth0.bkup will still be started by the network scripts. The pattern of ignored extensions is in /etc/init.d/functions:

# Check whether file $1 is a backup or rpm-generated file and should be ignored
is_ignored_file() {
    case "$1" in
        *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
            return 0
            ;;
    esac
    return 1
}

In RHEL5, the ifcfg-ethX file needs to have HWADDR with the device's MAC address, this is how network devices are named.

In RHEL6, you don't need HWADDR because devices are named separately in /etc/udev/rules.d/70-persistent-net.rules.

Changing the MAC address of interfaces but expecting the "new" interface to take an "old" name for a nonpresent device seems to be a different issue than whether VMWare Tools installer updates the kernel driver or not. For the latter, you'd need to ask VMWare Support.

We have a fairly recent vmxnet3 driver in RHEL6 and RHEL7, and we do keep it updated, we'd hope that updating the driver is not necessary in most cases.

Right, when I've tried to rename ifcfg-eth0 to ifcfg-eth0.bkup under RHEL 5, it would throw an error and so I did it from the GUI and that was a quick fix. However I have servers that don't have Xwindows installed, so I need to figure out a way to do this from the CLI. These are maily RHEL6.

I have RHEL systems with NIC drivers such as Flexible and E1000. The previous admin either wasn't aware or didn't keep them updated. I have servers that are having network/socket issues and when I ran tcpdump, I could see dropped packets and updating a few to vmxnet3 fixed the issue.

This command should move an existing file to something which will be ignored:

mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak

I'm not sure what the Flexible does, but if you can change a device type from the e1000 to vmxnet3 without changing the MAC address (or recording the MAC, deleting the old interface, and creating a new vmxnet3 interface with the same MAC) you shouldn't have to change any interface config files, though you might have to remove eth lines from /etc/modprobe.*

The packet loss is most likely either e1000 hanging, or ring buffer packet loss. The latter solution is not just for Broadcom devices, all NICs can suffer packet loss in this way.

The e1000 driver is in all currently supported RHEL versions. vmxnet3 is not in RHEL5, so you'll need the VMWare network driver installer there.

FYI, I found this Compatibility URL from VMWare

http://www.vmware.com/resources/compatibility/search.php?deviceCategory=software&testConfig=16

It will break down the various support of NIC drivers from VMWare Tools.

A side note, when kickstarting, I've found I can build with vmxnet3 directly under VMware for RHEL 6, but certainly not RHEL 5.

Hi,

we use vmwxnet3 only due to performance reasons.

For RHEL 5 (and 6 as we clobber the original drivers), we have a post-inst scripts which installs VMwareTools during the installation process and an initscripts which recompiles the Tools every time the server is restarted in case the kernel was updated/booted and older one.

Let me know if you need more information...

//Zdenek

So I know this is an old thread, but Zdenek, do you happen to have the script available that you mentioned? I unfortunately have several RHEL5 systems in the environment where I am working that I need to patch to the latest version(they are currently 5.7) and don't want to have to touch each one(approx 200 servers) to recompile the tools due to the kernel upgrade.

You can find something similar here: https://access.redhat.com/discussions/684683

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.