提交 d2ac3c2f 编写于 作者: R Ryota Ozaki 提交者: Daniel Veillard

lxc: Fix failure on starting a domain with multiple interfaces

[Error message]
error: Failed to start domain lxc_test1
error: internal error Failed to create veth device pair: 512

The reason of the failure is that lxc driver unexpectedly re-uses
an auto-assigned veth name and tries to create the created veth
again. The failure will happen when a domain has multiple network
interfaces and the names of those are not specified in XML.

The patch fixes the problem by resetting buffers of veth names
in every iteration of creating veth.

* src/lxc/lxc_driver.c: prevent re-using auto-assigned veth name
  Reported by Kumar L Srikanth-B22348.
上级 94f71441
...@@ -786,14 +786,15 @@ static int lxcSetupInterfaces(virConnectPtr conn, ...@@ -786,14 +786,15 @@ static int lxcSetupInterfaces(virConnectPtr conn,
{ {
int rc = -1, i; int rc = -1, i;
char *bridge = NULL; char *bridge = NULL;
char parentVeth[PATH_MAX] = "";
char containerVeth[PATH_MAX] = "";
brControl *brctl = NULL; brControl *brctl = NULL;
if (brInit(&brctl) != 0) if (brInit(&brctl) != 0)
return -1; return -1;
for (i = 0 ; i < def->nnets ; i++) { for (i = 0 ; i < def->nnets ; i++) {
char parentVeth[PATH_MAX] = "";
char containerVeth[PATH_MAX] = "";
switch (def->nets[i]->type) { switch (def->nets[i]->type) {
case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_NETWORK:
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册