diff --git a/src/ip6-manager/nm-ip6-manager.c b/src/ip6-manager/nm-ip6-manager.c index e452c18e25..3dc8616c32 100644 --- a/src/ip6-manager/nm-ip6-manager.c +++ b/src/ip6-manager/nm-ip6-manager.c @@ -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);