Quite recently I upgraded my XCP-ng box and added an Intel X520-DA2 network interface card (NIC). The latter comes with dual SFP+ ports and is widely available on the used market for very little money.
So I installed the NIC, turned on the machine and saw: nothing.
One possible solution is to perform an emergency network reset. At least that was the approach that was mostly returned from Google. It works, but you ruin your complete network setup.
Luckily the correct way is much easier. If you have a look at the XCP-ng network documentation, there is even a dedicated section to adding a physical NIC. You simply have to run the command
xe pif-scan host-uuid=<HOST UUID> .
To get the host UUID, you can run
xe host-list. Or if you have only one machine in your home lab, just use the completion functionality by pressing
<TAB> 3 times like this:
While playing around with an ESXi 6.5 test system, I accidentally killed all network connectivity by setting the NICs to pass-through. This post gives a bit of background and the solution that worked for me.
The system is home-built with a Fujitsu D3410-B2 motherboard and an Intel dual-port Gigabit NIC (HP OEM). The motherboard has a Realtek RTL8111G chip for its NIC, which does allegedly work with community drivers, but not out-of-the-box. One of the things I want to run on this box is a pfSense router. So, when I discovered, that the Realtek NIC was available for pass-through, I enabled this. I also enabled one(!) of the two ports of my Intel dual-port NIC. At least, that is what I had intended to do.
Because what really happened was that all three NICs were set to pass-through, which of course meant that ESXi itself had no NIC available to itself any more. This issue showed after the next reboot, when the console told me that no supported NICs had been found in the system. Perhaps not wrong in strict terms, but certainly a bit misleading, when you are not very experienced with ESXi.
Searching the net did not provide a real answer. But after a couple of minutes I realized that perhaps my change about pass-through might be the culprit. The relevant file where these settings are stored is
/etc/vmware/esx.conf. I searched for lines looking like this
/device/000:01.0/owner = "passthru"
and replaced them with
/device/000:01.0/owner = "vmkernel"
After that I just had to reboot and things were fine again.