--- xend_internal.c.back 2008-12-04 15:31:38.000000000 +0000 +++ xend_internal.c 2008-12-04 21:05:49.000000000 +0000 @@ -1773,10 +1773,9 @@ if (VIR_ALLOC(net) < 0) goto no_memory; - if ((tmp2 && strstr(tmp2, "bridge")) || tmp) { - net->type = VIR_DOMAIN_NET_TYPE_BRIDGE; - /* XXX virtual network reverse resolve */ - + if ((tmp2 && (strstr(tmp2, "bridge") )) || tmp) { + net->type = VIR_DOMAIN_NET_TYPE_BRIDGE; + /* XXX virtual network reverse resolve */ if (tmp && !(net->data.bridge.brname = strdup(tmp))) goto no_memory; @@ -5153,10 +5152,15 @@ /* * apparently (type ioemu) breaks paravirt drivers on HVM so skip this - * from Xen 3.1.0 + * from Xen 3.1.0 This happence as XEN try to allocate a network card via qemu */ - if ((hvm) && (xendConfigVersion < 4)) - virBufferAddLit(buf, "(type ioemu)"); +// if ((hvm) && (xendConfigVersion < 4) ) + if ((hvm) && (def->qemu_allocate==VIR_DOMAIN_NET_QEMU_ALLOC_FALSE)){ /* If we have asked the qemu not to allocte a net work for hvm guest. + This way you would not have a problem with PV drivers on HVM guests*/ + virBufferAddLit(buf, "(type none)"); + }else { + virBufferAddLit(buf, "(type ioemu)"); + } if (!isAttach) virBufferAddLit(buf, ")");