Stefan Bader wrote:
Oh, just while talking about setdefault. Jim, this is one of the odd
things when
moving from xm to xl stack from libvirt: libvirt defaults to the netfront NIC
when no model is specified and sets the type. The libxl setdefault function sets
the model to rtl8139 but leaves the type untouched.
The xend toolstack always creates both emulated and vif devices unless
'type=netfront' is explicitly specified. As you say, the guest gets to
choose what to do with them. E.g. PXE boot using the emulated device,
or have the driver for the PV device unplug the emulated one. I don't
think libxl supports this right?
So setting no model in the
xml config creates a domain with no emulated NIC (this does not matter after
Linux is up because the emulated devices get unplugged). Just that PXE boot will
not work. This gets odd because with the old xen (xm) driver, no model meant
rtl8139.
Sigh, and to hijack this thread even further I noticed a quite unexpected
behaviour when starting a domain trhough libvirt and then try to use "xl list
-l" to get config details. "xl list" shows all running domains but
"xl list -l"
produces something like "you have to specify a domain name". I found the
origin
of this to be libxl_userdata_retrieve which takes a userdate_userid as an
argument. Libvirt uses "libvirt-xml" for that, while xl uses "xl".
This might be
intentional and the bug is just that we need a better check for not finding the
userdata and then skipping those domains. On the other hand ... its after all in
both cases a domain created and started through libxl...
As Ian mentioned, this has already been discussed
http://lists.xen.org/archives/html/xen-devel/2013-10/msg01921.html
But looks like that thread has lost some steam...
Regards,
Jim