This patch removes the expanded and duplicated code that all sprung
out of two well-intentioned-but-useless settings of
net->data.(bridge|ethernet).ipaddr.
qemu has never supported even a single IP address in the interface
config, much less a list of them. All of the instances of "clearing
out the IP addresses" that are now in this function originated with
commit d8dbd6 "Basic domain XML conversions for Xen/QEMU drivers" in
May 2009, but even then the single "ipaddr" in the struct for
type='ethernet' and type='bridge' wasn't used in the qemu driver
(only
in xen and openvz). Since then anyone who added a new interface type
also tacked on another unnecessary clearing of ipaddr, and when it was
made into a list of IPs (so far supported only by the LXC driver) this
simple setting was turned into a loop (well, multiple loops) to clear
them all.
---
src/qemu/qemu_driver.c | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 294a1b0..517d0b8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6998,7 +6998,6 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
(brname = virDomainNetGetActualBridgeName(net))) {
char *brnamecopy;
- size_t j;
if (VIR_STRDUP(brnamecopy, brname) < 0)
goto cleanup;
@@ -7010,29 +7009,18 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
net->script = NULL;
net->data.ethernet.dev = brnamecopy;
- for (j = 0; j < net->nips; j++)
- VIR_FREE(net->ips[j]);
- VIR_FREE(net->ips);
- net->nips = 0;
-
} else {
/* actualType is either NETWORK or DIRECT. In either
* case, the best we can do is NULL everything out.
*/
- size_t j;
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;
- for (j = 0; j < net->nips; j++)
- VIR_FREE(net->ips[j]);
- VIR_FREE(net->ips);
- net->nips = 0;
}
} else if (net->type == VIR_DOMAIN_NET_TYPE_DIRECT) {
- size_t j;
VIR_FREE(net->data.direct.linkdev);
memset(net, 0, sizeof(*net));
@@ -7040,23 +7028,15 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
net->script = NULL;
net->data.ethernet.dev = NULL;
- for (j = 0; j < net->nips; j++)
- VIR_FREE(net->ips[j]);
- VIR_FREE(net->ips);
- net->nips = 0;
} else if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
char *script = net->script;
char *brname = net->data.bridge.brname;
- size_t nips = net->nips;
- virDomainNetIPDefPtr *ips = net->ips;
memset(net, 0, sizeof(*net));
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
net->script = script;
net->data.ethernet.dev = brname;
- net->nips = nips;
- net->ips = ips;
}
VIR_FREE(net->virtPortProfile);
--
2.5.5