Don't activate LXC network device if <link state='down'/> has been set
in its configuration.
---
src/lxc/lxc_container.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index a2f4c5d..f8b9fc2 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -567,21 +567,23 @@ static int lxcContainerRenameAndEnableInterfaces(virDomainDefPtr
vmDef,
}
}
- VIR_DEBUG("Enabling %s", newname);
- rc = virNetDevSetOnline(newname, true);
- if (rc < 0)
- goto error_out;
+ if (netDef->linkstate != VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN) {
+ VIR_DEBUG("Enabling %s", newname);
+ rc = virNetDevSetOnline(newname, true);
+ if (rc < 0)
+ goto error_out;
- /* Set the gateways */
- if (netDef->gateway_ipv4 &&
- lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv4,
- AF_INET) < 0)
- goto error_out;
+ /* Set the gateways */
+ if (netDef->gateway_ipv4 &&
+ lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv4,
+ AF_INET) < 0)
+ goto error_out;
- if (netDef->gateway_ipv6 &&
- lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv6,
- AF_INET6) < 0)
- goto error_out;
+ if (netDef->gateway_ipv6 &&
+ lxcContainerAddDefaultRoute(newname, netDef->gateway_ipv6,
+ AF_INET6) < 0)
+ goto error_out;
+ }
VIR_FREE(newname);
}
--
1.8.4.5