[lxc-devel] [patch -lxc 1/2] fix inverted network interface creation
Daniel Lezcano
dlezcano at fr.ibm.com
Thu Jul 22 14:31:27 UTC 2010
From: Daniel Lezcano <daniel.lezcano at free.fr>
The list is 'lifo', so when we create the network interfaces, we
do this in the reverse order of the expected one. That is confusing.
Signed-off-by: Daniel Lezcano <dlezcano at fr.ibm.com>
---
src/lxc/confile.c | 4 ++--
src/lxc/list.h | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/lxc/confile.c b/src/lxc/confile.c
index 127fb37..e2c015d 100644
--- a/src/lxc/confile.c
+++ b/src/lxc/confile.c
@@ -136,7 +136,7 @@ static int config_network_type(const char *key, char *value,
lxc_list_init(list);
list->elem = netdev;
- lxc_list_add(network, list);
+ lxc_list_add_tail(network, list);
if (!strcmp(value, "veth"))
netdev->type = LXC_NET_VETH;
@@ -178,7 +178,7 @@ static struct lxc_netdev *network_netdev(const char *key, const char *value,
return NULL;
}
- netdev = lxc_list_first_elem(network);
+ netdev = lxc_list_last_elem(network);
if (!netdev) {
ERROR("no network device defined for '%s' = '%s' option",
key, value);
diff --git a/src/lxc/list.h b/src/lxc/list.h
index eb4fd13..5213e80 100644
--- a/src/lxc/list.h
+++ b/src/lxc/list.h
@@ -30,6 +30,11 @@ static inline void *lxc_list_first_elem(struct lxc_list *list)
return list->next->elem;
}
+static inline void *lxc_list_last_elem(struct lxc_list *list)
+{
+ return list->prev->elem;
+}
+
static inline int lxc_list_empty(struct lxc_list *list)
{
return list == list->next;
--
1.7.0.4
More information about the lxc-devel
mailing list