From 4d5d803c929092eb07db5717650224afbde59d55 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Mon, 13 Jan 2014 17:42:19 +0100 Subject: Fix interface ignore overwrite Don't overwrite interface ignore uci parameter when resolving ifindex. Don't put interface in use when ifindex is unknown as interface cannot be setup and needs to be closed. --- src/config.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index 46137a4..b6b3708 100644 --- a/src/config.c +++ b/src/config.c @@ -302,6 +302,9 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr if (ifname) strncpy(iface->ifname, ifname, sizeof(iface->ifname) - 1); + if ((iface->ifindex = if_nametoindex(iface->ifname)) <= 0) + return -1; + iface->inuse = true; if ((c = tb[IFACE_ATTR_DYNAMICDHCP])) @@ -494,7 +497,6 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr } } - iface->ignore = (iface->ifindex = if_nametoindex(iface->ifname)) <= 0; return 0; err: -- cgit v1.2.3