[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Setting devid for emulated NICs (Xen 4.3.1 / libvirt 1.2.0) using libxl driver
Using virt-manager "hypervisor default" type: <interface type='bridge'> <mac address='00:16:3e:5e:09:9d'/> <source bridge='br0'/> <script path='vif-bridge'/> </interface> This causes the qemu call to have "-net none" which removes PXE boot abilities. A linux kernel has network through the xen pv-driver. Changing in virt-manager to "e1000" type: <interface type='bridge'> <mac address='00:16:3e:5e:09:9d'/> <source bridge='br0'/> <script path='vif-bridge'/> <model type='e1000'/> </interface> This currently (Xen 4.3.1 + libvirt 1.2.0) fails and the qemu arguments in the log look suspicious: -device e1000,id=nic-1,netdev=net-1,mac=00:16:3e:5e:09:9d -netdev type=tap,id=net-1,ifname=vif1.-1-emu,script=no,downscript=no Looking through git I found ba64b97134a6129a48684f22f31be92c3b6eef96 libxl: Allow libxl to set NIC devid which removes a line that sets the devid of new NICs. I assume the comment says (sorry I always seem to get confused reading it) that devid should be auto-set by the libxl library provided by Xen. But I could not find where that would be done. Even the xl command implementation sets it explicitly. libxl_device_nic_init sets it to -1 which would explain the wrong qemu arguments above. For testing I re-added the following after the libxlMakeNic call: --- libvirt-1.2.0.orig/src/libxl/libxl_conf.c 2013-12-11 17:04:17.000000000 +0 +++ libvirt-1.2.0/src/libxl/libxl_conf.c 2013-12-16 19:08:46.830016646 +0 @@ -907,6 +907,8 @@ libxlMakeNicList(virDomainDefPtr def, l for (i = 0; i < nnics; i++) { if (libxlMakeNic(l_nics[i], &x_nics[i])) goto error; + if (x_nics[i].devid < 0) + x_nics[i].devid = i; } d_config->nics = x_nics; And with that I get a working PXE boot when I set the device type in the config. (Side note that I think not using a type defaults to rtl8139 in the old xend driver. Maybe this should be the same for the xl driver). I am not sure how the right fix for it should look like as I am unsure which part was supposed to set the devid. Just right now it does not seem to be done. -Stefan Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |