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 727565d..3befd1c 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -563,21 +563,23 @@ static int 
lxcContainerRenameAndEnableInterfaces(virDomainDefPtr vmDef,
             VIR_FREE(ipStr);
         }
 
-        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);
     }
-- 
2.1.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to