summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-07-11 14:51:12 -0500
committerDan Williams <dcbw@redhat.com>2014-07-11 14:51:12 -0500
commit66d1f2f53c59f8eb875609c858629854232ed57c (patch)
treef54758fc83c63d6d04f23ea6cd475ef95e68570e
parent09da178639033c2c47b5a3a9dc77431781f69bec (diff)
platform: ignore RTM_F_CLONED (eg, cache) routes
The kernel adds these for various operations; they are short-lived, added often, and not useful to NetworkManager. Ignore them. This prevents NetworkManager from continuously updating the IPv6 config and emitting state changes to clients via D-Bus for useless changes.
-rw-r--r--src/platform/nm-linux-platform.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index d125c82b72..0b10afd2ae 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -3517,7 +3517,8 @@ _route_match (struct rtnl_route *rtnlroute, int family, int ifindex)
rtnl_route_get_table (rtnlroute) != RT_TABLE_MAIN ||
rtnl_route_get_protocol (rtnlroute) == RTPROT_KERNEL ||
rtnl_route_get_family (rtnlroute) != family ||
- rtnl_route_get_nnexthops (rtnlroute) != 1)
+ rtnl_route_get_nnexthops (rtnlroute) != 1 ||
+ rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED)
return FALSE;
if (ifindex == 0)