From 9c285e43451f3c930bce728ad3c5ac4550679a8e Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Mon, 15 Feb 2016 18:59:22 +0100 Subject: [PATCH] interface-ip: Don't handle external addresses and routes Prevent external routes and address being added or deleted when changing the state of the interface ip settings Signed-off-by: Hans Dedecker --- interface-ip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interface-ip.c b/interface-ip.c index eb585f5..26a2865 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -1264,6 +1264,9 @@ void interface_ip_set_enabled(struct interface_ip_settings *ip, bool enabled) vlist_for_each_element(&ip->addr, addr, node) { bool v6 = ((addr->flags & DEVADDR_FAMILY) == DEVADDR_INET6) ? true : false; + if (addr->flags & DEVADDR_EXTERNAL) + continue; + if (addr->enabled == enabled) continue; @@ -1289,6 +1292,9 @@ void interface_ip_set_enabled(struct interface_ip_settings *ip, bool enabled) vlist_for_each_element(&ip->route, route, node) { bool _enabled = enabled; + if (route->flags & DEVADDR_EXTERNAL) + continue; + if (!enable_route(ip, route)) _enabled = false; -- 2.30.2