Skip to content

Commit

Permalink
Merge pull request #1248 from tych0/use-external
Browse files Browse the repository at this point in the history
c/r: use external
  • Loading branch information
Christian Brauner committed Oct 25, 2016
2 parents 00afe6d + 796a109 commit 7d1937d
Showing 1 changed file with 36 additions and 13 deletions.
49 changes: 36 additions & 13 deletions src/lxc/criu.c
Expand Up @@ -439,27 +439,49 @@ static void exec_criu(struct criu_opts *opts)
char eth[128], *veth;
struct lxc_netdev *n = it->elem;

if (n->type != LXC_NET_VETH)
continue;

if (n->name) {
if (strlen(n->name) >= sizeof(eth))
goto err;
strncpy(eth, n->name, sizeof(eth));
} else
sprintf(eth, "eth%d", netnr);
} else {
ret = snprintf(eth, sizeof(eth), "eth%d", netnr);
if (ret < 0 || ret >= sizeof(eth))
goto err;
}

veth = n->priv.veth_attr.pair;
switch (n->type) {
case LXC_NET_VETH:
veth = n->priv.veth_attr.pair;

if (n->link)
ret = snprintf(buf, sizeof(buf), "%s=%s@%s", eth, veth, n->link);
else
ret = snprintf(buf, sizeof(buf), "%s=%s", eth, veth);
if (ret < 0 || ret >= sizeof(buf))
if (n->link)
ret = snprintf(buf, sizeof(buf), "veth[%s]:%s@%s", eth, veth, n->link);
else
ret = snprintf(buf, sizeof(buf), "veth[%s]:%s", eth, veth);
if (ret < 0 || ret >= sizeof(buf))
goto err;
break;
case LXC_NET_MACVLAN:
if (!n->link) {
ERROR("no host interface for macvlan %s\n", n->name);
goto err;
}

ret = snprintf(buf, sizeof(buf), "macvlan[%s]:%s", eth, n->link);
if (ret < 0 || ret >= sizeof(buf))
goto err;
break;
case LXC_NET_NONE:
case LXC_NET_EMPTY:
break;
default:
/* we have screened for this earlier... */
ERROR("unexpected network type %d\n", n->type);
goto err;
}

DECLARE_ARG("--veth-pair");
DECLARE_ARG("--external");
DECLARE_ARG(buf);
netnr++;
}

}
Expand Down Expand Up @@ -615,9 +637,10 @@ static bool criu_ok(struct lxc_container *c, char **criu_version)
case LXC_NET_VETH:
case LXC_NET_NONE:
case LXC_NET_EMPTY:
case LXC_NET_MACVLAN:
break;
default:
ERROR("Found network that is not VETH or NONE\n");
ERROR("Found un-dumpable network: %s (%s)\n", lxc_net_type_to_str(n->type), n->name);
return false;
}
}
Expand Down

0 comments on commit 7d1937d

Please sign in to comment.