unsigned int bootIndex = net->info.bootIndex;
char *model = net->model;
virMacAddr mac = net->mac;
+ char *script = net->script;
- if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
- int actualType = virDomainNetGetActualType(net);
- const char *brname;
-
- VIR_FREE(net->data.network.name);
- VIR_FREE(net->data.network.portgroup);
- if ((actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) &&
- (brname = virDomainNetGetActualBridgeName(net))) {
-
- char *brnamecopy;
-
- if (VIR_STRDUP(brnamecopy, brname) < 0)
- goto cleanup;
-
- virDomainActualNetDefFree(net->data.network.actual);
-
- memset(net, 0, sizeof(*net));
-
- net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
- net->script = NULL;
- net->data.ethernet.dev = brnamecopy;
- } else {
- /* actualType is either NETWORK or DIRECT. In either
- * case, the best we can do is NULL everything out.
- */
- virDomainActualNetDefFree(net->data.network.actual);
- memset(net, 0, sizeof(*net));
-
- net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
- net->script = NULL;
- net->data.ethernet.dev = NULL;
- }
- } else if (net->type == VIR_DOMAIN_NET_TYPE_DIRECT) {
- VIR_FREE(net->data.direct.linkdev);
+ net->model = NULL;
+ net->script = NULL;
- memset(net, 0, sizeof(*net));
-
- net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
- net->script = NULL;
- net->data.ethernet.dev = NULL;
- } else if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
- char *script = net->script;
- char *brname = net->data.bridge.brname;
-
- memset(net, 0, sizeof(*net));
-
- net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
- net->script = script;
- net->data.ethernet.dev = brname;
- }
+ virDomainNetDefClear(net);
- VIR_FREE(net->virtPortProfile);
+ net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
net->info.bootIndex = bootIndex;
net->model = model;
net->mac = mac;
+ net->script = script;
}
if (!(cmd = qemuProcessCreatePretendCmd(conn, driver, vm, NULL,