summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-03-15 00:09:43 +0100
committerFelix Fietkau <nbd@openwrt.org>2012-03-15 00:09:43 +0100
commit1c7bff698eb7adbe239ccf400345cfda3d466f39 (patch)
tree2681de6830f3098c80a77779f5d51d70e6d8cc1f /config.c
parent87648299f8944a3268210e0315f6b5244d42fa4f (diff)
downloadnetifd-1c7bff698eb7adbe239ccf400345cfda3d466f39.tar.gz
parse tunnel devices from config
Diffstat (limited to 'config.c')
-rw-r--r--config.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/config.c b/config.c
index ba97a5c..d134a90 100644
--- a/config.c
+++ b/config.c
@@ -215,7 +215,7 @@ config_init_devices(void)
uci_foreach_element(&uci_network->sections, e) {
struct uci_section *s = uci_to_section(e);
- const struct device_type *devtype;
+ const struct device_type *devtype = NULL;
const char *type, *name;
if (strcmp(s->type, "device") != 0)
@@ -226,9 +226,14 @@ config_init_devices(void)
continue;
type = uci_lookup_option_string(uci_ctx, s, "type");
- if (type && !strcmp(type, "bridge"))
- devtype = &bridge_device_type;
- else
+ if (type) {
+ if (!strcmp(type, "bridge"))
+ devtype = &bridge_device_type;
+ else if (!strcmp(type, "tunnel"))
+ devtype = &tunnel_device_type;
+ }
+
+ if (!devtype)
devtype = &simple_device_type;
blob_buf_init(&b, 0);