Control: tag -1 patch I attached a possible patch to fix both the check and the actual setup.
Bastian -- The heart is not a logical organ. -- Dr. Janet Wallace, "The Deadly Years", stardate 3479.4
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index db823d6..1db33ea 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -472,7 +472,7 @@ lxcContainerGetNetDef(virDomainDefPtr vmDef, const char *devName) for (i = 0; i < vmDef->nnets; i++) { netDef = vmDef->nets[i]; - if (STREQ(netDef->ifname_guest_actual, devName)) + if (netDef->ifname_guest_actual && STREQ(netDef->ifname_guest_actual, devName)) return netDef; } diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 37ddbbc..ac086d0 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -259,8 +259,6 @@ char *virLXCProcessSetupInterfaceBridged(virConnectPtr conn, if (virNetDevSetMAC(containerVeth, &net->mac) < 0) goto cleanup; - if (VIR_STRDUP(net->ifname_guest_actual, containerVeth) < 0) - goto cleanup; if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) { if (virNetDevOpenvswitchAddPort(brname, parentVeth, &net->mac, @@ -452,6 +450,10 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn, (*veths)[(*nveths)-1] = veth; + if (VIR_STRDUP(def->nets[i]->ifname_guest_actual, veth) < 0) + /* XXX: No error handling! */ + return -1; + /* Make sure all net definitions will have a name in the container */ if (!def->nets[i]->ifname_guest) { if (virAsprintf(&def->nets[i]->ifname_guest, "eth%zu", niface) < 0)