Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Console NIC fails to come up after allocation of adapters

Details

After I allocate some of my Ethernet adapters to the virtual machines, my console Ethernet adapter fails to come up. What could be the cause?

Solution

When Ethernet adapters are taken away from the console operating system and given to the virtual machines, the adapters are gone, but often the network settings were not changed to reflect the disappearance of the adapters. The way Linux and the console operating system name Ethernet devices is to give them a name of the form eth0, eth1, , eth where is one less than the number of Ethernet adapters you have. Each of these names is called an Ethernet interface. Each Ethernet interface has its own IP address, gateway address and other network settings.

When you take away Ethernet devices, it is possible the Ethernet interface names will change too. For example, suppose you have three Ethernet devices with corresponding Ethernet interfaces eth0, eth1 and eth2. If you take the device corresponding to eth0 from the console operating system and assign it to the virtual machines, then the device that was interface eth1 will become eth0. Similarly, the device that was interface eth2 will become eth1.

Linux and the console operating system associate networking information with the Ethernet interfaces, not the Ethernet device. As a result, the networking settings for a particular device may have changed. In cases where the Ethernet devices are all of the same manufacturer and type, no problems will occur. Problems will occur if the devices are not of the same type or the higher numbered Ethernet interfaces (such as eth2 in our example) were being used to access the network. We will describe how to deal with the two cases.

First, assume the Ethernet devices are of two different manufacturers and types. As a result, a different driver will most likely be needed by each device. Look in the
/etc/conf.modules file to see which driver is being loaded for each device. You should see lines such as

alias eth0 3c90x


alias eth1 e100


The Ethernet interface eth0 is expected to be bound to a 3Com 90x Ethernet card and the interface eth1 is expected to be bound to an Intel EEPro card. If the 3Com card was assigned to the virtual machines, the Intel card is now eth0. You will have to modify the file so that eth0 is bound to the e100 driver. The new file should say

alias eth0 e100


This change ensures that your system will start automatically with the new settings the next time your machine boots. To try to load the driver while the system is running, you can use the insmod(8) command.

Consider a different example. In this case, the higher numbered Ethernet interface was being used to access the network. You must migrate the networking configuration for each interface to the device's new interface name. For example, suppose you have Ethernet interfaces eth0, eth1 and eth2 and wish to allocate the device bound to eth0 to the virtual machines. After you allocate the device, the device previously bound to eth1 is bound to eth0, and the device that was bound to eth2 is bound to eth1. If eth2 was being used to access the network, the network settings need to be changed along with the Ethernet interfaces. To get the same network configuration, you must take the network settings that had been used for eth2 and apply them to eth1 and, similarly, transfer the settings for eth1 to eth0.

To make the change, go to the directory
/etc/sysconfig/network-scripts. In this directory is a series of files beginning with ifcfg-eth. There is one of these files for each Ethernet interface you have. These files contain the network settings for particular Ethernet interfaces. To migrate the network settings, copy these files and give them new names corresponding to their new Ethernet interfaces. In our example, rename
ifcfg-eth1 to ifcfg-eth0, then rename ifcfg-eth2 to ifcfg-eth1.

Once you make this change, you can restart your networking by running the command

/etc/rc.d/init.d/network restart


This command stops your networking and restarts it with the new settings.

Keywords

.

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback


Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
Actions
KB: