[lxc-devel] [PATCH 1/1] don't skip setting network properties in unpriv case
Serge Hallyn
serge.hallyn at ubuntu.com
Tue Feb 18 04:33:20 UTC 2014
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
src/lxc/conf.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 8529a43..d40e3e0 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -2374,16 +2374,19 @@ static int setup_netdev(struct lxc_netdev *netdev)
return -1;
}
}
- return 0;
+ if (netdev->type != LXC_NET_VETH)
+ return 0;
+ netdev->ifindex = if_nametoindex(netdev->name);
}
/* get the new ifindex in case of physical netdev */
- if (netdev->type == LXC_NET_PHYS)
+ if (netdev->type == LXC_NET_PHYS) {
if (!(netdev->ifindex = if_nametoindex(netdev->link))) {
ERROR("failed to get ifindex for %s",
netdev->link);
return -1;
}
+ }
/* retrieve the name of the interface */
if (!if_indextoname(netdev->ifindex, current_ifname)) {
@@ -2398,11 +2401,13 @@ static int setup_netdev(struct lxc_netdev *netdev)
netdev->link : "eth%d";
/* rename the interface name */
- err = lxc_netdev_rename_by_name(ifname, netdev->name);
- if (err) {
- ERROR("failed to rename %s->%s : %s", ifname, netdev->name,
- strerror(-err));
- return -1;
+ if (strcmp(ifname, netdev->name) != 0) {
+ err = lxc_netdev_rename_by_name(ifname, netdev->name);
+ if (err) {
+ ERROR("failed to rename %s->%s : %s", ifname, netdev->name,
+ strerror(-err));
+ return -1;
+ }
}
/* Re-read the name of the interface because its name has changed
--
1.9.rc1
More information about the lxc-devel
mailing list