Browse Source

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 <dedeckeh@gmail.com>
Hans Dedecker 8 years ago
parent
commit
9c285e4345
1 changed files with 6 additions and 0 deletions
  1. 6 0
      interface-ip.c

+ 6 - 0
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;