Accepting request 205796 from Virtualization

This fixes a nasty bug in Factory/13.1 RC2 that prevents using emulated
NICs in Xen HVM guests, e.g. preventing PXE boot.  It would be really
nice to get this in 13.1 GM, so please copy to 13.1 if that is possible.
Thanks!

- Fix initialization of libxl NIC devices
  libxl-hvm-nic.patch
  bnc#848918

OBS-URL: https://build.opensuse.org/request/show/205796
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=135
This commit is contained in:
Stephan Kulow 2013-11-07 07:40:26 +00:00 committed by Git OBS Bridge
commit 2a0838cb63
3 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Mon Nov 4 15:44:39 MST 2013 - jfehlig@suse.com
- Fix initialization of libxl NIC devices
libxl-hvm-nic.patch
bnc#848918
-------------------------------------------------------------------
Wed Oct 30 08:35:47 MDT 2013 - jfehlig@suse.com

View File

@ -426,6 +426,7 @@ Patch100: xen-name-for-devid.patch
Patch101: clone.patch
Patch102: xen-pv-cdrom.patch
Patch103: libxl-hvm-vnc.patch
Patch104: libxl-hvm-nic.patch
# Our patches
Patch200: libvirtd-defaults.patch
Patch201: libvirtd-init-script.patch
@ -955,6 +956,7 @@ of recent versions of Linux (and other OSes).
%patch101
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1

22
libxl-hvm-nic.patch Normal file
View File

@ -0,0 +1,22 @@
Index: libvirt-1.1.2/src/libxl/libxl_conf.c
===================================================================
--- libvirt-1.1.2.orig/src/libxl/libxl_conf.c
+++ libvirt-1.1.2/src/libxl/libxl_conf.c
@@ -846,8 +846,6 @@ libxlMakeNic(virDomainNetDefPtr l_nic, l
* x_nics[i].mtu = 1492;
*/
- libxl_device_nic_init(x_nic);
-
virMacAddrGetRaw(&l_nic->mac, x_nic->mac);
if (l_nic->model && !STREQ(l_nic->model, "netfront")) {
@@ -892,6 +890,8 @@ libxlMakeNicList(virDomainDefPtr def, l
return -1;
for (i = 0; i < nnics; i++) {
+ libxl_device_nic_init(&x_nics[i]);
+ x_nics[i].devid = i;
if (libxlMakeNic(l_nics[i], &x_nics[i]))
goto error;
}