ip6: ignore cached/cloned route notifications from the kernel (lp:1038541) (bgo #671767)

The kernel periodically adds routes for specific operations, including
when pinging any host.  These are temporary routes and aren't part of
the interface's permanent routing configuration, so we should ignore
them.
This commit is contained in:
Ben Jencks 2012-08-30 13:55:36 -05:00 committed by Dan Williams
parent c4bb7f26a8
commit 3ca3120e4a

View file

@ -921,6 +921,14 @@ process_route_change (NMIP6Manager *manager, struct nl_msg *msg)
return NULL;
}
/* Cached/cloned routes are created by the kernel for specific operations
* and aren't part of the interface's permanent routing configuration.
*/
if (rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED) {
rtnl_route_put (rtnlroute);
return NULL;
}
device = nm_ip6_manager_get_device (manager, rtnl_route_get_oif (rtnlroute));
old_size = nl_cache_nitems (priv->route_cache);