[ipxe-devel] Xen netfront support
mcb30 at ipxe.org
Wed Jul 30 00:05:55 UTC 2014
On 29/07/14 23:58, Shao Miller wrote:
> Personally, I don't think seeing both NICs is a huge deal, as a Xen user
> should be aware of the dual-NIC thing.
> But: are there any ordering guarantees about which NIC of the pair is
> going to be first (net0) in iPXE?
The NICs will appear in PCI bus order. On the current qemu code, the
Xen platform PCI device will always be registered before any PCI NICs,
so we'll end up with all of the netfront NICs listed before all of the
> Also: Would the unplugging happen before any NIC-detection, if it were
> going to happen? If so, that wouldn't suggest a 'xen-unplug' command,
> at least.
To minimise problems, the unplug should happen before we start
enumerating the PCI bus. We can _probably_ cope with hotplug PCI
devices disappearing at runtime (since we do that anyway for EFI), but
it could lead to strange effects such as gaps in the net device numbering.
> Maybe it could just sit as a build option and those who desire the
> guaranteed unplugging can build such. That seems to be the special
> scenario; better confused with the possibility of poorer performance
> with the emulated NIC than NICless at OS time, perhaps.
We could say that the user should use e.g. bin/hvm.iso rather than
bin/ipxe.iso if they want to see only the netfront NICs, which would
cover the common case without requiring a custom build option.
It's just slightly ugly: it feels as though using bin/ipxe.iso should
present the user with a single instance of the NIC, while leaving the
(unused) emulated PCI devices intact for a subsequent OS. I just can't
figure out an easy way to do this.
More information about the ipxe-devel