*/
for (i = 0; i < vm->def->nnets; i++) {
virDomainNetDefPtr net = vm->def->nets[i];
- unsigned int bootIndex = net->info.bootIndex;
- g_autofree char *model = NULL;
- virMacAddr mac = net->mac;
- char *script = net->script;
+ virDomainNetDefPtr newNet = virDomainNetDefNew(driver->xmlopt);
- model = g_strdup(virDomainNetGetModelString(net));
-
- net->script = NULL;
-
- virDomainNetDefClear(net);
+ if (!newNet)
+ goto cleanup;
- net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
- net->info.bootIndex = bootIndex;
- net->mac = mac;
- net->script = script;
+ newNet->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
+ newNet->info.bootIndex = net->info.bootIndex;
+ newNet->model = net->model;
+ newNet->modelstr = g_steal_pointer(&net->modelstr);
+ newNet->mac = net->mac;
+ newNet->script = g_steal_pointer(&net->script);
- if (virDomainNetSetModelString(net, model) < 0)
- goto cleanup;
+ virDomainNetDefFree(net);
+ vm->def->nets[i] = newNet;
}
if (!(cmd = qemuProcessCreatePretendCmd(driver, vm, NULL,