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.
This commit is contained in:
@@ -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_table (rtnlroute) != RT_TABLE_MAIN ||
|
||||||
rtnl_route_get_protocol (rtnlroute) == RTPROT_KERNEL ||
|
rtnl_route_get_protocol (rtnlroute) == RTPROT_KERNEL ||
|
||||||
rtnl_route_get_family (rtnlroute) != family ||
|
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;
|
return FALSE;
|
||||||
|
|
||||||
if (ifindex == 0)
|
if (ifindex == 0)
|
||||||
|
Reference in New Issue
Block a user