Complete the following procedures:
[url=]Identifying Existing NIC Characteristics[/url]Before applying any ordering changes, it is necessary to determine the current device assignments for the NICs which need to be reordered.
Run interface-rename --list to get this information:
The preceding is a sample output and note that for each NIC there is assigned a Name which corresponds to the device name mapped to the NIC in the kernel, and an ethN value which corresponds to the device as it is described by the system BIOS.
It is also possible to determine the device’s MAC address, PCI bus ID, Phys (physical) name and SMBios name.
On XenCenter > NIC tab, the information such as the MAC address and PCI bus ID are available:
For the NIC or NICs which need to be reordered, take a note of one of the MAC address, the PCI bus ID, the physical name (Phys) or the SMBios name and proceed to the next section which describes how to change the device name/order for the device.
[url=]Changing NIC Ordering[/url]IMPORTANT! Before making any ordering changes, the interfaces must be taken offline. Run the command ifconfig ethN down for all interfaces to be modified, where ethN is the device name (for example, eth4). The interfaces comes back online automatically when the host is rebooted.
Run the command interface-rename --update to update the NIC order/naming in the following manner: interface-rename --update <target eth name>=MAC|PCI|Phys|"SMBios"
where, the <target eth name> corresponds to the device that is going to be remapped (example, eth4). It is being mapped using one of either the MAC address, the PCI bus ID, the Phys name or the SMBios name.
Considering the output from interface-rename --list as an example, assume the NIC order needs to be changed: Device “eth4” and “eth8” are reordered, the device assigned to “eth4” needs to be reassigned to “eth8”, and “eth8” reassigned to “eth4”.
Recall the current configuration for “eth4” and “eth8”:
Name MAC PCI ethN Phys SMBios eth4 00:24:81:7f:cf:8b 0000:4c:00.0 eth4 eth8 00:24:81:80:19:63 0000:50:00.0 eth8
To apply the reordering run the following command:
interface-rename --update eth4=00:24:81:80:19:63 eth8=00:24:81:7f:cf:8b (to use the PCI bus ID, the Phys name or the SMBios name as the criteria for assigning the device name, simply replace the MAC addresses with one of these other values.)
Reboot the host after running interface-rename --update. The changes will not take effect until the host reboots.
After the host is rebooted, run the command interface-rename --list again and note the changes in the output:
ethN (physical) devices “eth4” and “eth8” have now been reassigned as desired.
The same change can be observed in XenCenter:
[url=]NIC Reordering Impact on Pool Networks[/url]Reordering physical NICs does NOT reorder the logical networks which are bound to those NICs. In the preceding example, where physical devices eth4 and eth8 were reordered, the logical networks associated with these interfaces were not changed:
Device eth4 (or NIC 4) was reassigned to eth8 (or NIC 8), and eth8 to eth4, however the logical networks ‘Network 4’ and ‘Network 8’ have not swapped but remained mapped to the newly assigned physical devices. Because of this, any virtual machine which was utilizing either ‘Network 4’ or ‘Network 8’ prior to the devices being reordered, is no longer mapping to the same physical interfaces once the host reboots.
If this is unintended, it might be necessary to modify the VMs network configurations to map to the correct NIC after the reordering changes are made.
This can be done by selecting the VM in XenCenter and then making the necessary changes under the ‘Networking’ tab for that VM. If many VMs require the new configuration, this process can be scripted/automated.
[url=]NIC Reordering Impact on Bonds[/url]Though XenServer does not prevent, NICs that are participating in a bond must NOT be reordered/modified. Modifying NICs can cause unpredictable behavior and/or instability for both the host and the underlying network communications.
Before making any ordering changes the bond must be broken/destroyed. After the changes are applied and the host is rebooted, the bond can then be recreated.