mirror of
git://github.com/lxc/lxc
synced 2025-08-31 03:59:34 +00:00
network: use correct network device name
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
@@ -2232,6 +2232,7 @@ static int lxc_delete_network_unpriv_exec(const char *lxcpath, char *lxcname,
|
||||
}
|
||||
|
||||
if (child == 0) {
|
||||
char *hostveth;
|
||||
int ret;
|
||||
|
||||
close(pipefd[0]);
|
||||
@@ -2245,7 +2246,11 @@ static int lxc_delete_network_unpriv_exec(const char *lxcpath, char *lxcname,
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (netdev->priv.veth_attr.veth1[0] == '\0') {
|
||||
if (netdev->priv.veth_attr.pair[0] != '\0')
|
||||
hostveth = netdev->priv.veth_attr.pair;
|
||||
else
|
||||
hostveth = netdev->priv.veth_attr.veth1;
|
||||
if (hostveth[0] == '\0') {
|
||||
SYSERROR("Host side veth device name is missing");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
@@ -2257,10 +2262,10 @@ static int lxc_delete_network_unpriv_exec(const char *lxcpath, char *lxcname,
|
||||
}
|
||||
|
||||
INFO("Execing lxc-user-nic delete %s %s %s veth %s %s", lxcpath,
|
||||
lxcname, netns_path, netdev->link, netdev->priv.veth_attr.veth1);
|
||||
lxcname, netns_path, netdev->link, hostveth);
|
||||
execlp(LXC_USERNIC_PATH, LXC_USERNIC_PATH, "delete", lxcpath,
|
||||
lxcname, netns_path, "veth", netdev->link,
|
||||
netdev->priv.veth_attr.veth1, (char *)NULL);
|
||||
lxcname, netns_path, "veth", netdev->link, hostveth,
|
||||
(char *)NULL);
|
||||
SYSERROR("Failed to exec lxc-user-nic.");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
@@ -2355,14 +2360,20 @@ bool lxc_delete_network_unpriv(struct lxc_handler *handler)
|
||||
if (!is_ovs_bridge(netdev->link))
|
||||
continue;
|
||||
|
||||
if (netdev->priv.veth_attr.pair[0] != '\0')
|
||||
hostveth = netdev->priv.veth_attr.pair;
|
||||
else
|
||||
hostveth = netdev->priv.veth_attr.veth1;
|
||||
if (hostveth[0] == '\0')
|
||||
continue;
|
||||
|
||||
ret = lxc_delete_network_unpriv_exec(handler->lxcpath,
|
||||
handler->name, netdev,
|
||||
netns_path);
|
||||
if (ret < 0) {
|
||||
deleted_all = false;
|
||||
WARN("Failed to remove port \"%s\" from openvswitch "
|
||||
"bridge \"%s\"",
|
||||
netdev->priv.veth_attr.veth1, netdev->link);
|
||||
"bridge \"%s\"", hostveth, netdev->link);
|
||||
continue;
|
||||
}
|
||||
INFO("Removed interface \"%s\" from \"%s\"", hostveth,
|
||||
|
Reference in New Issue
Block a user