Knowledge Base

|
Console NIC fails to come up after allocation of adapters
Details
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
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
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
This command stops your networking and restarts it with the new settings.
Keywords
Request a Product Feature
- Updated:
- Categories:
- Product Family:
- Product(s):
- Product Version(s):

